首頁 >web前端 >js教程 >Ajax傳送json格式資料到背景出現錯誤應如何處理

Ajax傳送json格式資料到背景出現錯誤應如何處理

php中世界最好的语言
php中世界最好的语言原創
2018-04-03 14:14:112229瀏覽

這次給大家帶來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 })
@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:小白一个,有不对的地方请大神指正;有大神知道具

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

ajax後台success上傳的json資料如何處理

ajax取得頁面的回傳參數並且給控制項賦值

以上是Ajax傳送json格式資料到背景出現錯誤應如何處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn