0

이 문제를 해결할 수 있도록 도와 주시겠습니까? 저는 Ajax 호출을 통해 컨트롤러/API를 호출하고 상태 메시지/성공을 기반으로하기 때문에 form이나 html.beginform없이 폼을 구현하고 있습니다. 요구 사항에 따라 일부 페이지로 리디렉션하고 싶습니다. 제어기 방법을 위해 구현 된 위조 방지 방법을 건너 뛰지 않아야 함을 유의하십시오. 감사.필요한 위조 방지 양식 필드 __RequestVerificationToken이 없습니다.

하지만 더 때문에 다음과 같이

내보기은 "필요한 위조 방지 양식 필드 __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"); 

      } 

     }); 

감사의 말.

+0

당신은 당신의 행동에'ValidateAntiFrogeryToken'' 속성을 가지고있다.이 에러가 올 이유는 –

+2

이다. MVC의'AntiForgery' 기능은 전통적인 폼 포스트에서만 작동한다. 아약스와 함께 작동 시키려면이 기능을 확장해야합니다. 자신의 구현을위한 기반으로 사용할 수있는 방법에 대한 예제가있는 여러 좋은 블로그 게시물이 있습니다. [여기] (http://richiban.wordpress.com/2013/02/06/validating-net-mvc-4-anti-forgery-tokens-in-ajax-requests/) 및 [여기] (http : // haacked.com/archive/2011/10/10/preventing-csrf-with-ajax.aspx/)가 좋은 출발점입니다. – Bryan

+0

[ASP.NET MVC의 아약스 게시물에 antiforgerytoken 포함] 가능한 복제본 (http://stackoverflow.com/questions/14473597/include-antiforgerytoken-in-ajif-post-asp-net-mvc) – CodeCaster

답변

0

데이터 변경 : ko.toJSON (CustData) to data : ko.toJS (CustData). 그리고 잘 가야한다.