0
我有一個Spring MVC Web應用程序,我有以下Web服務。Json數據未映射到後端服務
@RequestMapping(value = "/newBill", method = RequestMethod.POST)
public @ResponseBody ModelMap acceptNewBill(@ModelAttribute ("Bill") Bill newBill){
Bill bill = new Bill();
bill.setTableName(newBill.getTableName());
bill.setRoom(newBill.getRoom());
bill.setCovers(newBill.getCovers());
ModelMap model = new ModelMap();
model.put("status", true);
return model;
}
以下腳本執行前端功能。
$('.done').click(function(){
var jsonObject = createJSON(".newBill");
jQuery.ajax({
url: "/newBill",
type: "POST",
data: {bill: JSON.stringify(jsonObject) },
dataType: "json",
beforeSend: function(x) {
if (x && x.overrideMimeType) {
x.overrideMimeType("application/j-son;charset=UTF-8");
}
},
success: function(result) {
alert('sadgsd');
}
});
});
function createJSON(elementToConvert) {
jsonObj = [];
$(elementToConvert + " input").each(function() {
var id = $(this).attr("class");
var email = $(this).val();
item = {}
item [id] = email;
jsonObj.push(item);
});
return jsonObj;
}
上面的createJSON函數通過提供的html元素並將值放入一個對象中!點擊功能執行POST和Post包含以下數據。
bill [{"tableName":"326432"},{"room":"3462346"},{"covers":"3426234"}]
現在,當我調試和檢查服務時,從前端去的數據沒有被映射到參數中。我檢查了變量名是否與POST相同。他們是一樣的!但值不映射!任何人都可以幫助我解決這個問題。
更新:
我改變了服務方法來獲取並傳遞一個值作爲一個URL變量。然後它被映射到服務參數中。問題出現在POST中。