Я отправляю форму в действие контроллера.Я получаю ошибку от контроллера.
Это поведение, которое я хочу: Если ошибка - показать правильное сообщение об ошибке на той же странице без обновления страницы.В случае успеха - снова показать сообщение об успехе на странице без обновления страницы
Я получаю только то, что страница полностью обновляется с другим URL-адресом и показывает это: {"status": "Failed", "msg": "\ u0027Name \ u0027"}
URL-адрес меняется на: ../respond/update - действие, которое я публикую на
В основном я хочу перехватить этот статус «Сбой» и отобразитьсообщение в промежутке.
Но почему оно переносит меня на другую страницу?
Вот представление:
@using (Html.BeginForm("Update", "Respond", FormMethod.Post, new { id = "frmUpdate" }))
{
//have my form here
//submit button
}
Here is the js handler that posts the form:
$('#frmUpdate').submit(function () {
//validation
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
beforeSend: //show loader
success: function (result) {
alert(result.status);
},
error: function (xhr, status, error) { alert('error'); }
});
return false;
});
Here is controller:
[HttpPost]
public ActionResult Update(ResponseModel model)
{
return Json(new { status="Failed", msg = "Name" });
}
РЕДАКТИРОВАТЬ: В Firefox требуется другой URL.Но в IE8 я получаю эту ошибку от самого jquery.Интересно ...
Сообщение: объект не поддерживает это свойство или метод Строка: 28 Символ: 12724 Код: 0 URI: /Content/js/external/jquery-1.6.2.min.js?v= 3