У меня есть контроллер API, который возвращает HttpStatusCodeResult 200, если он работал, и 500, если они не смогли зарегистрироваться. Проблема в том, что .done и .fail будут вызваны независимо от того, какой код состояния будет возвращен. Однако информация размещена или опубликована неправильно. Вот моя функция сообщения. Любые идеи, что может быть причиной этого, будут очень признательны?Функция обратного вызова JQuery не работает и всегда вызывается
function register() {
$.post("../api/Register",
{
'Email': $("#rEmail").val(),
'Password': $("#rPassword").val()
})
.done((function() {
alert("Thank you for registering!");
})())
.fail((function() {
alert("Email already exists");
})());
}
Edit: Проблема заключается в том, что она была перезагрузки страницы, когда jquery.unobtrusive должен не допустить этого. Исправление или обходной путь меняли его на кнопку, а не на форму.
Спасибо, однако, когда я это делаю, fail вызывается каждый раз, даже когда должен быть вызван .done – Derked
@Derked добавить обработчик сбоя как ' function (jqXhr, status, error) { alert (status + ' : '+ error +': '+ jqXhr.responseText) } 'и посмотреть, что предупреждено –
Проблема в том, что она перезагружала страницу, когда jquery.unobtrusive должен предотвращать это. Исправление или обходное решение меняли его на кнопку, а не на форму в сочетании с вашими изменениями. – Derked