小编典典

jQuery:如何处理sortable('serialize')返回的列表?

ajax

使用jQuery,我使用’serialize’检索可排序列表的位置,如下所示:

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});


阅读 258

收藏
2020-07-26

共1个答案

小编典典

找到了!我需要添加将key:'string'变量名称更改为“字符串”而不是“ id”的选项。

var order = $('#projects ul').sortable('serialize',{key:'string'});

$.post('ajax.php',order+'&action=updateOrder');
2020-07-26