首頁 > web前端 > js教程 > Ajax向後台傳json格式的資料出現415錯誤的原因分析及解決方法

Ajax向後台傳json格式的資料出現415錯誤的原因分析及解決方法

韦小宝
發布: 2017-12-30 18:41:14
原創
4231 人瀏覽過

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錯誤的原因分析及解決方法,希望對大家有幫助! !

相關推薦:

js怎麼取得json數組長度

ajax怎麼才能讀取本地的json

Ajax如何傳輸Json和xml資料

以上是Ajax向後台傳json格式的資料出現415錯誤的原因分析及解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板