解決SpringMVC接收不到ajaxPOST參數(shù)的問題
問題
今天遇到一個問題,代碼如下
java:
@PostMapping(value = "/method")
@ResponseBody
public Object method(Integer id,String audit_content) {
return null;
}
js:
var data = {id:7,audit_content:"11111111111111111111a1"};
$.ajax({
type: "POST",
url: "/method",
data:data,
contentType: "application/json;charset=utf-8",
success: function (result) {
$("#my_result").html(JSON.stringify(result));
},
error: function () {
console.log("shibai")
}
});
這樣的話,java后臺的id和audit_content永遠都是null;就算用HttpServletRequest的getParameter("id")也一樣沒用。
解決
原因是js代碼里的contentType: "application/json;charset=utf-8",刪掉或者改成默認的"contentType: application/x-www-form-urlencoded"就行了。
拓展
那么什么時候用contentType: "application/json;charset=utf-8"呢,后臺不是接收單個字符串,而是一個實體類時就用它了。
java代碼:
@PostMapping("/method2")
@ResponseBody
@Transactional
public Object method2(@RequestBody Body body) {
return null;
}
js代碼:
var data = {"id": i, "show_status":0};
$.ajax({
type: "POST",
url: "/method2",
data: JSON.stringify(data),
contentType: "application/json;charset=utf-8",
success: function (result) {
$("#my_result").html(JSON.stringify(result));
},
error: function () {
console.log("shibai")
}
});
這樣java后臺會得到一個有id和show_status屬性的Body類,注意一定要JSON.stringify(data),不能直接傳data。
以上這篇解決SpringMVC接收不到ajaxPOST參數(shù)的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Springboot使用Maven占位符@替換不生效問題及解決
這篇文章主要介紹了Springboot使用Maven占位符@替換不生效問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04
java開發(fā)ShardingSphere的路由引擎類型示例詳解
這篇文章主要為大家介紹了java開發(fā)ShardingSphere的路由引擎類型示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08
maven配置阿里云倉庫的實現(xiàn)方法(2022年)
本文主要介紹了maven配置阿里云倉庫的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
淺談springMVC接收前端json數(shù)據(jù)的總結
下面小編就為大家分享一篇淺談springMVC接收前端json數(shù)據(jù)的總結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03
java后臺實現(xiàn)js關閉本頁面,父頁面指定跳轉或刷新操作
這篇文章主要介紹了java后臺實現(xiàn)js關閉本頁面,父頁面指定跳轉或刷新操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11

