ajax向後臺傳物件時,@RequestBody 接收物件
阿新 • • 發佈:2018-11-20
@RequestBody 接收的是json字串,而ajax傳送的是json物件,型別不一致
var data = {"id" : $("#id").val(),"userId" : $("#userId").val(),"visitInstruct" : $("#visitInstruct").val(),"isVisit" : isVisit} $.ajax({ url : "/api/updateFeedback", async : false, type : "POST", contentType : 'application/json', dataType : 'json', data :JSON.stringify(data), success : function(data) { lert("111"); } });
其中,dataType和contentType也必須設定成json格式的,而JSON.stringify(obj)這個函式可以把json物件轉換為json字串,這三個設定是必不可少的。
/** * 更新管控反饋資訊 * @param feedback * @return */ @PostMapping("/updateFeedback") @ResponseBody public JSONObject updateFeedback(@RequestBody FeedbackDO feedback){ logger.info("更新管控反饋資訊"); JSONObject json = new JSONObject(); json.put("state", "00"); json.put("msg", "操作成功"); feedbackService.update(feedback); return json; }
備註:經常碰到 data中某個時間欄位出現異常,導致伺服器異常錯誤,可以先排除時間欄位進行除錯。