【发布时间】:2013-01-30 07:51:59
【问题描述】:
我想使用 jquery 在 ajax 中传递以下嵌套对象:
{
"parent_param1" : [
{
"sub_param1" : "sub_val1",
"sub_param2" : "sub_val2"
},
{
"sub_param1" : "sub_val1",
"sub_param2" : "sub_val2"
},
{
"sub_param1" : "sub_val1",
"sub_param2" : "sub_val2"
}
],
"parent_param2" : "par_val2",
"parent_param3" : "par_val3"
}
我正在尝试像以下示例一样传递它:
var url = encodedURL;
var data = 'Above Object';
$.ajax({
type:'POST',
url:url,
dataType:'json',
data:data,
success:function(res){
alert('success');
},
error:function(e){
alert('error');
}
});
我收到运行时错误作为响应。我想确保这是使用 jQuery 在 AJAX 中传递嵌套对象的正确方法吗?
【问题讨论】:
-
运行时错误是因为服务器端响应。不是因为你的剧本。你的脚本工作正常。尝试发布 URL 的响应,以便我们可以尝试干预它。
-
是否可以在发送之前对其进行 JSON 编码?不要认为 jQuery 可以开箱即用。您可以将对象与数组一起传递,但不能将对象与对象一起传递。 (此处的示例 3:api.jquery.com/jQuery.get)参数应编码为
parent_param1[sub_param1]=sub_val1&parent_param1[sub_param2]=sub_val2&...,以便您可以创建一个生成类似字符串的函数。 -
伙计们,我的方法通过 ajax jquery 传递嵌套对象是正确的吗?