如何将序列化数组解析为 jQuery 数组
how to parse a serialized array to a jQuery array
我有一个 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
现在我想 select 每个数组索引使用 jQuery $each
.
$.each(data, function(index, value ) {
alert( value );
});
我会得到错误:
TypeError: Cannot use 'in' operator to search for 'length' in item[]=51&item[]=41&item[]=49&item[]=35&item[]=58&item[]=45&item[]=32&item[]=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: Unexpected token i in JSON at position 0
所以这可能是 JSON 解析器期望字符串的开头和结尾带有 "
的问题。
var data = $("#sortable").sortable('serialize');
data=JSON.stringify(data);
data=JSON.parse(data);
$.each(data, function(index, value ) {
alert( value );
});
但这会导致第一个TypeError。
如何将 jQuery 可排序对象解析为数据数组?
使用 "toArray" 方法而不是 "serialize" 方法。
var arr = $("#sortable").sortable('toArray');
$.each(arr, function(index, value) {
alert(value);
});
顺便说一句,以下形式的字符串不是JSON。事实上,它甚至不接近 JSON.
item[]=51&item[]=41&item[]=49&item[]=35&item[]=58&item[]=45&item[]=32&item[]=36&item[]=26&item[]=27&item[]=33&item[]=31&item[]=29
数组的 JSON 字符串如下所示:
[51, 41, 49, 35, 58, 45, 32, 36, 26, 27, 33, 31, 29]
我有一个 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
现在我想 select 每个数组索引使用 jQuery $each
.
$.each(data, function(index, value ) {
alert( value );
});
我会得到错误:
TypeError: Cannot use 'in' operator to search for 'length' in item[]=51&item[]=41&item[]=49&item[]=35&item[]=58&item[]=45&item[]=32&item[]=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: Unexpected token i in JSON at position 0
所以这可能是 JSON 解析器期望字符串的开头和结尾带有 "
的问题。
var data = $("#sortable").sortable('serialize');
data=JSON.stringify(data);
data=JSON.parse(data);
$.each(data, function(index, value ) {
alert( value );
});
但这会导致第一个TypeError。
如何将 jQuery 可排序对象解析为数据数组?
使用 "toArray" 方法而不是 "serialize" 方法。
var arr = $("#sortable").sortable('toArray');
$.each(arr, function(index, value) {
alert(value);
});
顺便说一句,以下形式的字符串不是JSON。事实上,它甚至不接近 JSON.
item[]=51&item[]=41&item[]=49&item[]=35&item[]=58&item[]=45&item[]=32&item[]=36&item[]=26&item[]=27&item[]=33&item[]=31&item[]=29
数组的 JSON 字符串如下所示:
[51, 41, 49, 35, 58, 45, 32, 36, 26, 27, 33, 31, 29]