Как ajax определяет, была ли транзакция успешной или ошибочной?spring mvc и ajax form submition
У меня есть функция 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;
}
Так что я могу отправить и получить данные от моего контроллера. Однако я продолжаю сталкиваться с состоянием ошибки и не знаю, как я туда доберусь. У меня есть поиск чего-то типа «Что делает ajax hit error state», но не нашел ничего полезного (возможно, у меня не было лучшего слова).
Любая помощь и предложение будут большой помощью. Спасибо.
Просмотрите вкладку сети вашего браузера: код ответа был, скорее всего, 500: Internal Server Error.Это означает, что вам нужно будет посмотреть вывод журнала вашего сервера на стороне приложения, чтобы найти трассировку стека исключений, которая показывает, что вызвало сбой. – kryger
Спасибо за подсказку. Я получил «HTTP Status 405 - метод запроса« POST »не поддерживается». Я пытаюсь пропустить метод = RequestMethod.POST, но он не помогает. – WhatAName
Похоже, что диспетчерский сервлет соответствует неправильному методу - есть ли у вас какие-либо другие методы с одинаковым сопоставлением URL-адресов? Вы уверены, что показываете фактический код, который вы используете? Быстрее экспериментировать и отправлять запросы с использованием клиента REST (например, Advanced REST Client для Chrome), а не для собственного клиентского приложения. – kryger