一直覺得在SpringMVC環境中,@RequestBody接收的是一個json對象,調試代碼時沒有成功,後來才發現,其實 @RequestBody接收的是一個json字符串,而不是一個json對象。html
解決方案:用JSON.stringify(data)的方式將對象變成字符串,同時ajax請求的時候也要指定dataType: "json",contentType:"application/json" ,這樣就能夠輕易的將一個對象傳到Java端,使用@RequestBody便可綁定對象。ajax
contentType:默認爲"application/x-www-form-urlencoded",該默認值適合大多數應用場合。"application/json"代表參數是json字符串。json
dataType: 預期服務器返回的數據類型。可用的類型以下:緩存
js代碼:服務器
$.ajax({ url : context + "/service/message/saveZbl", data :JSON.stringify({"uuid":uuid,"tableName":tableName,"columnName":columnName}), dataType: "json", contentType:"application/json", type:"POST", success : function(data){ if(data > 0){ dialog.close(); dialog.remove(); return false; }else{ $.sticky( "保存失敗", { style : 'success', autoclose : 1000, position : 'center' }); } } });
Java代碼:app
@RequestMapping(value = "/saveZbl") @ResponseBody public int saveZbl(HttpServletRequest request,@RequestBody JcZntxZbb zbb) { return 1; }