【发布时间】:2016-10-20 09:41:39
【问题描述】:
我有一个 jQuery 可排序列表,我正在序列化结果。
var data = $("#sortable").sortable('serialize');
结果如下:
item[]=41&item[]=49&item[]=51&item[]=35&item[]=58&item[]=45&item[]=32&item[]=36&item[]=26&item[]=27&item[]=33&item[]=31&item[]=29
现在我想使用 jQuery $each 选择每个数组索引。
$.each(data, function(index, value ) {
alert( value );
});
我会得到错误:
TypeError: 无法使用 'in' 运算符在 item[]=51&item[]=41&item[]=49&item[]=35&item[]=58&item[]=45&item[]=32&item[]= 中搜索 'length' 36&item[]=26&item[]=27&item[]=33&item[]=31&item[]=29
所以可能我必须使用 JSON.parse() 将其解析为数组:
var data = $("#sortable").sortable('serialize');
data=JSON.parse(data);
$.each(data, function(index, value ) {
alert( value );
});
这会导致错误
VM327:1 Uncaught SyntaxError: 位置 0 处 JSON 中的意外标记 i
所以可能是 JSON 解析器期望一个开头和结尾都带有" 的字符串的问题。
var data = $("#sortable").sortable('serialize');
data=JSON.stringify(data);
data=JSON.parse(data);
$.each(data, function(index, value ) {
alert( value );
});
但这会导致第一个 TypeError。
如何将 jQuery 可排序对象解析为数据数组?
【问题讨论】:
标签: jquery arrays json parsing jquery-ui-sortable