更新:这是一个编程错误,请不要发布答案。此问题将被删除。如果您已经发布了答案,请删除
我正在尝试使用jQuery和ajax提交表单。其中一个字段是对象列表,如下所示:
data = [{"id":1},{"id":2}]
我通常使用JSON.stringify(数据),但这次不起作用,服务器获取[object Object],[object Object]
当我做alert(JSON.stringify(data))
它有效但有些东西正在将它改回对象。
我正在使用jQuery form plugin并将此数据附加到options对象的data属性:
function showRequest(formData, jqForm, options) {
return true; //does nothing
}
var options = {
beforeSubmit: showRequest,
url: '/search.php',
iframe: true,
iframeTarget: '#iframe',
type: 'post'
};
options.data.data = JSON.stringify(data);
$('#myForm').ajaxSubmit(options);
如何将其转换为可以将其发送到服务器的JSON字符串?
答案 0 :(得分:0)
这可以使用jQuery并且不使用JSON libray来完成。
在后端使用php的示例
var data = [{"id":1},{"id":2}];
$.ajax({
type : 'POST',
url : 'test.php',
data: {my_array:data},
success : function(data){
//alert(data);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
//alert("error");
}
});
在php中
$my_array= $_REQUEST['my_array'];
print_r($my_array);
它会打印
Array
(
[0] => Array
(
[id] => 1
)
[1] => Array
(
[id] => 2
)
)