Валидации MVC на Ajax Post

Я использую MVC4, я хочу опубликовать свою страницу с клиента на сервер, я использую метод публикации ajax для публикации своих данных.

$("#btn").click(function(){
    $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: '/Admin/Create/',
                //data: JSON.stringify(datatosend),
                crossDomain: true,
                dataType: "json",
                success: function (data) {
                    if (data.redirectUrl != null) {
                    window.location = data.redirectUrl;
                    }
})
});

Здесь вместо <input type="submit" value="add"> я использую <input type ="button" value="add" id="btn"> и метод щелчка для вызова сообщения ajax. Когда я использую тип отправки, проверка работает нормально, но проверки типа кнопки не работают, и страница также не перенаправляется после успеха. Я видел много сообщений по этому вопросу. Но не в состоянии выяснить причину


person coder    schedule 16.09.2014    source источник


Ответы (2)


В вашем обработчике click сделайте что-то вроде:

var isValid = $(this).closest("form").validate();
if (isValid) {

    // do ajax post
}

Или вы можете взглянуть на документацию, там другой подход:

http://jqueryvalidation.org/validate

person Floremin    schedule 16.09.2014

1. Чтобы вызвать ошибку проверки, вы можете сделать следующий код.

$("#btn").click(function(){


var form = $("#myform").validate();

if(form.valid())
{
    $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: '/Admin/Create/',
                //data: JSON.stringify(datatosend),
                crossDomain: true,
                dataType: "json",
                success: function (data) {
                    if (data.redirectUrl != null) {
                    window.location = data.redirectUrl;
                    }
                error: function (errorResponse) {
                    alert(errorResponse.responseText);
                    }
           })
}

});

2. Почему ваша страница не перенаправляется, проверьте несколько пунктов.

  • проверьте, что вы возвращаете результат Json от вашего действия как JsonResult.
  • значение должно быть в кавычках window.location = '';
person lalit soni    schedule 17.09.2014