ajax如何確定事務是成功還是錯誤?spring mvc和ajax表單子命令
我有一個AJAX函數來處理表單提交:
function createTranCall() {
var nameval = $('#c-t-t').val();
var amountval = $('#c-t-a').val();
alert(nameval + " " + amountval);
//return false;
$.ajax({
type: "POST",
url: "${pageContext.request.contextPath}/create/transaction",
cache: false,
data: "traname=" + nameval + "&tranamount=" + amountval,
success: function(response) {
/* $('#result').html('');
var obj = JSON.parse(reponse);
$('#result').html(obj.name); */
alert("success");
},
error: function() {
alert("Error while request ..");
}
});
}
和我的控制器:
@RequestMapping(value="/create/transaction", method=RequestMethod.POST)
@ResponseBody
public MyTransaction createTran(HttpServletRequest request, HttpServletResponse response) throws Exception {
LOGGER.info("create new Transaction");
MyTransaction myTran = MyTransaction.getInstance();
String name = request.getParameter("traname");
String amount = request.getParameter("tranamount");
System.out.println("name: " + name + " - amount: " + amount);
myTran.setName(name);
return myTran;
}
所以我可以從我的控制器發送和獲取數據。不過,我一直打錯了狀態,並不知道如何到達那裏。我有搜索像「什麼讓阿賈克斯打錯誤狀態」,但找不到有用的東西(可能我沒有拿出更好的關鍵字)。
任何幫助和建議將是一個很大的幫助。謝謝。
查看您的瀏覽器的網絡選項卡:響應代碼最可能是500:內部服務器錯誤。這意味着您需要查看應用程序的服務器端日誌輸出以查找異常的堆棧跟蹤,以顯示導致失敗的原因。 – kryger
感謝提示。我得到「HTTP狀態405 - 請求方法」POST'不支持「。我嘗試省略method = RequestMethod.POST,但它沒有幫助。 – WhatAName
看起來像Dispatcher Servlet匹配錯誤的方法 - 你有任何其他方法具有相同的URL映射嗎?你確定你正在顯示你正在運行的實際代碼嗎?使用REST客戶端(例如用於Chrome的高級REST客戶端)而不是您自己的客戶端應用程序試驗和發送請求可能會更快。 – kryger