1. 程式人生 > >ajax向後臺傳物件時,@RequestBody 接收物件

ajax向後臺傳物件時,@RequestBody 接收物件

@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");
	}
});

其中,dataTypecontentType也必須設定成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中某個時間欄位出現異常,導致伺服器異常錯誤,可以先排除時間欄位進行除錯。