欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

Ajax向后台传输json格式数据出现错误应如何处理

程序员文章站 2022-04-21 17:44:37
...
这次给大家带来Ajax向后台传输json格式数据出现错误应如何处理,处理Ajax向后台传输json格式数据出现错误的注意事项有哪些,下面就是实战案例,一起来看一下。

问题描述:

  ajax往后台传json格式数据报415错误,如下图所示

Ajax向后台传输json格式数据出现错误应如何处理

页面代码

function saveUser(){
var uuId = document.getElementById("uuid").value;
var idCard = document.getElementById("idCard").value;
alert(uuId+idCard);
// var result = new Object();
// result.uuId = uuId;
// result.idCard = idCard;
// var saveData = JSON.stringify(result);
// alert(saveData);
$.ajax({
url : "xdds/saveUser.do?random=" + Math.random(),
type : "post",
data : {"uuid" : uuId,"idCard" : idCard},
// data:saveData,
dataType : 'json',
// contentType : "application/json",
success:function(data){
}
});
}

  后台代码

@RequestMapping(value = "/saveUser.do", method = { RequestMethod.POST })
@ResponseBody
public Map<String, Object> saveUser (@RequestBody MapUser user){
Map<String, Object> map = new HashMap<String, Object>();
System.out.println(user.getUuid()+user.getIdCard());
map.put("result", "fda");
return map ;
}

错误分析:415 (不支持的媒体类型) 请求的格式不受请求页面的支持

正确的json格式{key:value, key:value}key和value应该都带双引号。上面的前台代码data中的数据value不带双引号,所以导致报错(因为前面接触的项目这样写是没问题)

所以初步分析可能应为框架的问题,有的框架可以将

data : {"uuid" : uuId,"idCard" : idCard}这种封装成正确的json格式。

具体原因还不知道,博主也是小白,等博主搞清楚会分享出来的

解决办法:将前台注释的代码打开

var saveData = JSON.stringify(result)<br>这个函数可以转化成真确的json格式。<br><br>ps:小白一个,有不对的地方请大神指正;有大神知道具

相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!

推荐阅读:

ajax后台success上传的json数据如何处理

ajax获取页面的返回参数并且给控件赋值

以上就是Ajax向后台传输json格式数据出现错误应如何处理的详细内容,更多请关注其它相关文章!