OnFailure/ OnSuccess не вызывается при отправке формы ajax

Я пытаюсь отправить форму AJAX, и мне нужно, чтобы отображалось подтверждающее сообщение о неудаче и / или неудаче.

Но эти две функции никогда не вызывались.

@using (Ajax.BeginForm("Transfer", "Location", null, new AjaxOptions
{
    UpdateTargetId = "update-message",
    InsertionMode = InsertionMode.Replace,
    HttpMethod = "POST",
    OnSuccess = "updateSuccess",
    OnFailure = "updateFailure"

}, new { @id = "transferForm" }))
{
  // html here
}
<div id="update-message"></div>
<div id="commonMessage"></div>

это скрипт:

<script>
function updateSuccess() {
    if ($("#update-message").html() == "True") {
        $('#commonMessage').html("The ownership has been transfered.");
        $('#commonMessage').delay(400).slideDown(400).delay(4000).slideUp(400);
    }
    else {
        $("#update-message").show();
    }
}
function updateFailure() {
    if ($("#update-message").html() == "False") {
        $('#commonMessage').html("The ownership has NOT been transfered.Error     occured.");
        $('#commonMessage').delay(400).slideDown(400).delay(4000).slideUp(400);
    }
    else {

    }
}
</script>

После отправки формы я вижу, что она возвращает True/False и отображается в div "update-message". Но подтверждение никогда не появляется. даже если я использую "alert" внутри onFailure/onSuccess, предупреждение не отображается.

Любая помощь, ребята?

РЕДАКТИРОВАТЬ: возвращенное сообщение контроллера отображается в div. Но не появляется подтверждающее сообщение.

1 ответ

Не могли бы вы попробовать это:

function updateSuccess() {
        $('#commonMessage').html("The ownership has been transfered.");
        $('#commonMessage').delay(400).slideDown(400).delay(4000).slideUp(400);
}

function updateFailure() {
    $('#commonMessage').html("The ownership has NOT been transfered.Error     occured.");
    $('#commonMessage').delay(400).slideDown(400).delay(4000).slideUp(400);
}

Так как div обновляется после операций ajax.

ПРИМЕЧАНИЕ. Разве "OnSuccess" не означает "действие возвращает истину"? Кроме того, "OnFailure" = "action return false"? Почему вы используете "если заявление"?

Другие вопросы по тегам