这次给大家带来Ajax向后台传输json格式数据出现错误应如何处理,处理Ajax向后台传输json格式数据出现错误的注意事项有哪些,下面就是实战案例,一起来看一下。
问题描述:
ajax往后台传json格式数据报415错误,如下图所示
页面代码
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 })@ResponseBodypublic Map saveUser (@RequestBody MapUser user){Map map = new HashMap();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)
这个函数可以转化成真确的json格式。
ps:小白一个,有不对的地方请大神指正;有大神知道具
登录后复制
相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!
推荐阅读:
ajax后台success上传的json数据如何处理
ajax获取页面的返回参数并且给控件赋值
以上就是Ajax向后台传输json格式数据出现错误应如何处理的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2775704.html