这篇文章主要讲解了“Ajax向后台传json格式的数据出现415错误怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Ajax向后台传json格式的数据出现415错误怎么解决”吧!
问题描述:
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 }) @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向后台传json格式的数据出现415错误怎么解决”的内容了,经过本文的学习后,相信大家对Ajax向后台传json格式的数据出现415错误怎么解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。