Ajax向后台传json格式的数据出现415错误的原因分析及解决方法

Roxana ·
更新时间:2024-09-21
· 938 次阅读

问题描述:

  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的data参数错误导致页面崩溃快速解决ajax请求出错状态码为0的问题PHP 中使用ajax时一些常见错误总结整理完美解决ajax跨域请求下parsererror的错误ajax跨域访问报错501的解决方法jQuery中ajax错误调试分析Ajax犯的错误处理方法js ajaxfileupload.js上传报错的解决方法解决ajax返回验证的时候总是弹出error错误的方法Jquery Ajax Error 调试错误的技巧django使用ajax post数据出现403错误如何解决Ajax报错400的参考解决办法



json格式的数据 json格式 JSON 方法 数据 AJAX

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章