var url = "name.action";
var jsonStr = {"name":'lwy',"age":25};//object类型
var jsonArrayFinal = JSON.stringify(jsonStr);//string类型
jQuery.ajax({
type: "post",//put delete get post
url: url,
dataType : 'json',
//预期服务器返回的数据类型 xml html script json jsonp text ;
//如果不指定,则服务器根据返回数据类型自行判断
// async:true,
data : {mydata:jsonArrayFinal},
//要么使用 对json进行手动转译,要么使用JSON.stringify(jsonStr) 将其转换为字符串类型;
//如果不进行转译,使用【2】中的后台接收方法,那么不会报异常,但是获取不到数据
// data : {mydata:jsonStr},//报空指针异常,传不过去
contentType:"application/x-www-form-urlencoded",//默认值
success: function\(data,Status\){
alert\(data\);
alert\(Status\);
},
error: function\(xhr,status,errMsg\){
alert\(errMsg\);
}
}\);
比如,contentType:"application/json;charset=utf-8",此时,若使用例子一中的后台接收方法,是接收不到数据的。具体原因请看;post请求参数data的不同形式
http://blog.csdn.net/j080624/article/details/54598745
jQuery.ajax({
type: "post",//put delete get post
url: url,
dataType : 'json',
//预期服务器返回的数据类型 xml html script json jsonp text
async:true,//默认异步
contentType:"application/json;charset=utf-8",
data : jsonArrayFinal,
data : {mydata:jsonArrayFinal},
//进行了url编码mydata=%7B%22name%22%3A%22ji%22%2C%22age%22%3A20%7D
// data : jsonStr,//name=lwy&age=25
// data : {mydata:jsonStr},
//mydata%5Bname%5D=lwy&mydata%5Bage%5D=25
//mydata\[name\]=lwy&mydata\[age\]=25
success: function\(data,Status\){
alert\(data\);
alert\(Status\);
},
error: function\(xhr,status,errMsg\){
alert\(errMsg\);
}
}\);