使用 jQuery,我使用“序列化”检索可排序列表的位置,如下所示:
var order = $('ul').sortable('serialize');
变量“order”然后接收以下内容:
id[]=2&id[]=3&id[]=1&id[]=4&id[]=5
现在我如何在 ajax 调用中使用这些数据?
这就是我打算这样做的方式,但它很难看,而且我无法更改参数名称“id”:
$.post('ajax.php?'+order,{action:'updateOrder'});
也许我需要反序列化,然后内爆变量“order”并将其分配给一个参数?
<小时/>我的服务器端代码没有问题,但 jQuery 客户端代码有问题。问题是,我应该将“order”变量放在脚本中的什么位置?
在我给出的示例中,我将其添加为查询字符串:
'ajax.php?'+order
但我想将它作为参数传递,就像操作参数一样。以下不起作用,它返回语法错误:
$.post('ajax.php?'+order,{action:'updateOrder',order});
最佳答案
找到了!我需要添加选项 key:'string'
,它将变量名称更改为“string”而不是“id”。
var order = $('#projects ul').sortable('serialize',{key:'string'});
$.post('ajax.php',order+'&action=updateOrder');
关于jQuery:如何处理可排序 ('serialize' )返回的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/654535/