ajax向后台传对象时,@RequestBody 接收对象

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuzongtao/article/details/80430094

@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中某个时间字段出现异常,导致服务器异常错误,可以先排除时间字段进行调试。

猜你喜欢

转载自blog.csdn.net/yuzongtao/article/details/80430094