ajax往後台傳json格式資料報415錯誤,什麼原因導致的呢,該怎麼解決呢?下面腳本之家小編為大家帶來了Ajax向後台傳json格式的資料出現415錯誤的原因分析及解決方法對ajax感興趣的朋友一起看看吧
問題描述:
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錯誤的原因分析及解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!