Ajax 更新程序中的 Javascript 变量

标签 javascript ajax

我尝试使用以下代码将 javascript 变量“sortlist”发送到 Ajax 函数:

<div id = "output">Drag to sort</div>
<script type="text/javascript">

var session = <? echo $sesh; ?>;
var track   = <? echo $trk; ?>;

var sortlist = "sortlist_" + session + "_" + track; 

Sortable.create(sortlist,{
    onUpdate:function(){
        new Ajax.Updater('output','program_sort.php',
           {onComplete:function(request){}, 
               parameters:Sortable.serialize(sortlist), 
               evalScripts:true, 
               asynchronous:true}
        )
    }
})
</script>

该变量似乎成功传递到 Sortable.create (因为我可以对网页上的框进行排序),但它似乎没有传递到 Ajax.updater 内的 Sortable.serialize (因为它不再写入排序将值排序到数据库)。

当我在 Sortable.serialize 中使用文字值时,此代码有效,例如

parameters:Sortable.serialize('sortlist_1_1'),

我尝试在 Sortable.serialize 中使用 sortlist 作为变量(带或不带单引号和双引号),但无济于事。成功传递这个变量信息需要什么格式?

仅供引用, 我的 AJAX/javascript 体验约为 1(等级 1-10);我的 PHP/MySQL 经验约为 7 分(等级 1-10)。

最佳答案

试试这个:

Sortable.create(sortlist,{
    onUpdate:function(sortlist){return function(){
        new Ajax.Updater('output','program_sort.php',
           {onComplete:function(request){}, 
               parameters:Sortable.serialize(sortlist), 
               evalScripts:true, 
               asynchronous:true}
        )
    };}(sortlist);
})

让我们更进一步:

function(sortlist){
Sortable.create(sortlist,{
    onUpdate:function(){
        new Ajax.Updater('output','program_sort.php',
           {onComplete:function(request){}, 
               parameters:Sortable.serialize(sortlist), 
               evalScripts:true, 
               asynchronous:true}
        )
    }
});
}(sortlist);

关于Ajax 更新程序中的 Javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12925515/

相关文章:

javascript - 如何从一个月的日期获取星期几?

JavaScript do 表达式 : if statement without else

javascript - 为什么我的 php 文件不能从我的 javascript 运行?

php - Ajax + morris.js : Cannot call method 'match' of undefined

javascript - AJAX 重新加载按钮有时会多次添加相同的消息

jQuery tablesorter - AJAX 调用后功能丢失

javascript - 带有凭据的背景网格分页器

javascript - 使用 javascript 和按钮 onclick 生成新表单

javascript - 如何使用 chai js 通过正则表达式检查对象是否包含部分键?

javascript - 选择一个选项后动态禁用下拉菜单