通過Ajax進行Post提交Json資料
阿新 • • 發佈:2019-01-05
js程式碼
Action程式碼$.ajax({ type : "POST", url : js_path + "/maintainAdd/add", data : JSON.stringify(madd_data.editMaintain), contentType : "application/json", dataType : "json", complete:function(msg) { layer.msg("報修成功",{time:2000}); layer.close(madd_data.w_c_index); } });
@ResponseBody
@RequestMapping(value = "/add",method = RequestMethod.POST)
public void addMaintain(@RequestBody Maintain maintain){
this.save_maintain(maintain);
}
注意事項:
1、ajax中,contentType: "application/json"是必須的。dataType: "json"是表示返回值是json格式,依據返回值型別而定。
2、data中,將json物件序列化。使用JSON.stringfy()函式或者雙引號形式的字串。
3、除錯的一個技巧,有時候json變數和實體類相對複雜時提交老是報415或者400的錯誤又找不到原因,可以將Action中的實體類換成JSONObject 看看能不能接收到引數,@RequestBody JSONObject requestJso,接收後在JSON系列化到實體類。有次就是因為json變數向實體類轉換時發生字元向數字轉換的錯誤。