我想使用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"
}
Run Code Online (Sandbox Code Playgroud)
我试图传递它像下面的例子:
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');
}
});
Run Code Online (Sandbox Code Playgroud)
我收到运行时错误作为响应.我想确保使用jQuery在AJAX中传递嵌套对象是否正确?
现在你只是将一个对象传递给服务器,没有密钥.您需要将数据作为JSON字符串传递.
console.log(typeof data); //object
console.log(typeof JSON.stringify(data)); //string
Run Code Online (Sandbox Code Playgroud)
要读取数据服务器端,您需要使用键和值将数据作为对象文本传递.像这样的东西:
data: { dto: JSON.stringify(data) },
Run Code Online (Sandbox Code Playgroud)
在服务器端,您可以根据语言以不同方式访问对象.
PHP:
$dto = $_POST['dto'];
Run Code Online (Sandbox Code Playgroud)
ASP.NET:
var dto = HttpContext.Current.Request.Form['dto'];
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14929 次 |
最近记录: |