ajax请求当发送post方式application/json格式数据,url后面又带有参数的时候
2017-11-29 17:24
1366 查看
var url="${pageContext.request.contextPath}/json/jsonTest.do?idl=123&id=111";
$.ajax( {type : "POST",
url : url,
contentType:"application/json",
dataType: "JSON",
async : false,
data : JSON.stringify({"name":"whj","age":"18","sex":"nv"}),
//data : {"id":"1","name":"whj","age":"18","sex":"nv"},
beforeSend: function(){
},
complete: function(){
},
success : function(data){//格式{key:value}
alert(data);
alert(data[0].name)
},
error: function(data) {
alert("error");
}
});
后台接受方法
@RequestMapping(value="jsonTest")
public @ResponseBody Person execute8( Person person,String idl,Stirng id){
//public @ResponseBody List<Person> findAll(){
//模拟数据库方法
Logger.getLogger(JsonAction.class).debug("进入personFindAllaction");
后台控制台输出可以看到
person.toString=[id":"1","name":"whj","age":"18","sex":"nv"].
idl=123
id=111
return new Person(2,"whj1",25,"nan",new Date());
}
这里不会报错。
但是当去掉contentType:"application/json",
$.ajax( {type : "POST",
url : url,
//contentType:"application/json",
dataType: "JSON",
async : false,
data : {"name":"whj","age":"18","sex":"nv"},
//data : {"id":"1","name":"whj","age":"18","sex":"nv"},
beforeSend: function(){
},
complete: function(){
},
success : function(data){//格式{key:value}
alert(data);
alert(data[0].name)
},
error: function(data) {
alert("error");
}
});
后台会报错。因为person id是int类型的 这时候其实送给后台id是111,1,格式转换时就会报错,具体为什么送json时不会报错,我估计是json直接把下面作为一个对象注入到person里面,其他id均在外面用其他实体接收
$.ajax( {type : "POST",
url : url,
contentType:"application/json",
dataType: "JSON",
async : false,
data : JSON.stringify({"name":"whj","age":"18","sex":"nv"}),
//data : {"id":"1","name":"whj","age":"18","sex":"nv"},
beforeSend: function(){
},
complete: function(){
},
success : function(data){//格式{key:value}
alert(data);
alert(data[0].name)
},
error: function(data) {
alert("error");
}
});
后台接受方法
@RequestMapping(value="jsonTest")
public @ResponseBody Person execute8( Person person,String idl,Stirng id){
//public @ResponseBody List<Person> findAll(){
//模拟数据库方法
Logger.getLogger(JsonAction.class).debug("进入personFindAllaction");
后台控制台输出可以看到
person.toString=[id":"1","name":"whj","age":"18","sex":"nv"].
idl=123
id=111
return new Person(2,"whj1",25,"nan",new Date());
}
这里不会报错。
但是当去掉contentType:"application/json",
$.ajax( {type : "POST",
url : url,
//contentType:"application/json",
dataType: "JSON",
async : false,
data : {"name":"whj","age":"18","sex":"nv"},
//data : {"id":"1","name":"whj","age":"18","sex":"nv"},
beforeSend: function(){
},
complete: function(){
},
success : function(data){//格式{key:value}
alert(data);
alert(data[0].name)
},
error: function(data) {
alert("error");
}
});
后台会报错。因为person id是int类型的 这时候其实送给后台id是111,1,格式转换时就会报错,具体为什么送json时不会报错,我估计是json直接把下面作为一个对象注入到person里面,其他id均在外面用其他实体接收
相关文章推荐
- 浅谈使用Fiddler工具发送post请求(带有json数据)以及get请求(Header方式传参)
- JS获取url参数,JS发送json格式的POST请求方法
- php学习笔记(三十)ajax请求和接收参数的实现方式(包括json数据格式的简单处理)
- 浅谈使用Fiddler工具发送post请求(带有json数据)以及get请求(Header方式传参)
- 浅谈使用Fiddler工具发送post请求(带有json数据)以及get请求(Header方式传参)
- 使用Fiddler工具发送post请求(带有json数据)以及get请求(Header方式传参)
- JS获取url参数、JS发送json格式的POST请求
- 使用jQuery发送POST,Ajax请求返回JSON格式数据
- GET请求和POST请求有什么区别?GET请求的参数在URL的问号后面显示,而POST参数不在URL上;POST可以比GET请求更大的数据…一般的回答都是这样。 但是作为一个高端大气上档次的程序
- Kinbana监控数据获取 Jsoup 发送 Post请求 RequestBody 为 Json格式
- 获取 request 中用POST方式"Content-type"是"application/x-www-form-urlencoded;charset=utf-8"发送的 json 数据
- Java 模拟post请求,发送json格式数据
- ExtJS发送POST请求 参数格式为JSON
- JSON数据与后台跨域交互时候网络请求的发送方式
- 获取 request 中用POST方式"Content-type"是"application/json"发送的 json 数据
- 发送Ajax请求获取JSON格式数据
- Ajax在静态页面中向指定url发送json请求获取返回的json数据
- POST请求发送JSON格式的数据
- iOS开发-post请求向服务器发送json格式数据(数组或字典)
- json格式ajax的post请求方式