Обязательное поле формы защиты от подделки __RequestVerificationToken отсутствует

Не могли бы вы помочь мне решить эту проблему? Я реализую форму входа без формы или html.beginform, потому что я вызываю контроллер/API через вызов Ajax и на основе сообщения о состоянии/успеха я хочу перенаправить на какую-то страницу в соответствии с требованием. Обратите внимание, я не должен пропускать метод защиты от подделки, который был реализован для метода контроллера. Спасибо.

Но я не могу продолжить из-за «Необходимое поле формы защиты от подделки __RequestVerificationToken отсутствует»

Моя точка зрения такова:

""<input data-bind="value: UserName" type="text" name="username" />
  <button type="button" data-bind="click:LoginMethod"> Login       </button>""

И код Ajax выглядит следующим образом

 self.LoginMethod = function () {

        //Ajax call to Insert the Customer record

        $.ajax({

            type: "POST",

            url: "http://localhost:8089/Home/SignIn/",

            data: ko.toJSON(CustData), //Convert the Observable Data into JSON



            success: function (data) {
                console.log("success");
                alert("Record Added Successfully");

            },

            error: function () {
                console.log("failed");
                alert("Failed");

            }

        });

Оценил вашу помощь.


person user2010114    schedule 24.05.2014    source источник
comment
у вас есть ValidateAntiFrogeryToken атрибут в вашем действии, поэтому появляется эта ошибка   -  person Ehsan Sajjad    schedule 24.05.2014
comment
По умолчанию функция AntiForgery MVC работает только с сообщениями в традиционных формах. Чтобы он также работал с ajax, эту функцию необходимо расширить. Есть несколько хороших сообщений в блогах с примерами того, как это сделать, которые можно использовать в качестве основы для собственной реализации. Здесь и здесь хорошие отправные точки.   -  person Bryan    schedule 24.05.2014
comment
возможный дубликат включить antiforgerytoken в ajax post ASP.NET MVC   -  person CodeCaster    schedule 24.05.2014


Ответы (1)


Изменить данные: ko.toJSON(CustData) на данные: ko.toJS(CustData). И тебе должно быть хорошо идти

person Claude JOASIL    schedule 02.01.2015