2012-05-02 3 views
1

나는 JQuery와 아약스 reuests와 함께 작업 AntiForgeryToken을 받고 여기에 대해 읽어하고 나는 기본적으로 내가 그러나ViewModels를 사용하여 Jquery Ajax 호출로 AntiForgeryToken을 사용 하시겠습니까?

data: { 
     "__RequestVerificationToken": 
     $("input[name=__RequestVerificationToken]").val() 
    }, 

같은 것을 사용하여 내 게시물/아약스 호출 토큰을 포함 확인해야 ... 내가 사용하고 ViewModels하고, 내보기 모델 객체를 만들어 내 값을 할당 한 다음 JSON.stringify'ing 및

 // Ajax call here 
    // Make a view model instance 
    var ajaxEditPermissionViewModel = new Object(); 
    ajaxEditPermissionViewModel.HasPermission = isChecked; 
    ajaxEditPermissionViewModel.Permission = permission; 
    ajaxEditPermissionViewModel.Category = category; 
    ajaxEditPermissionViewModel.MembershipRole = role; 

    // Ajax call to post the view model to the controller 
    var strung = JSON.stringify(ajaxEditPermissionViewModel); 

    $.ajax({ 
     url: '/Admin/Permissions/UpdatePermission', 
     type: 'POST', 
     dataType: 'json', 
     data: strung, 
     contentType: 'application/json; charset=utf-8', 
     success: function (data) { 
      ResetTableAfterAjaxCall(); 
      ShowSuccessNotification(); 
     }, 
     error: function (xhr, ajaxOptions, thrownError) { 
      ShowUserMessage("Error: " + xhr.status + " " + thrownError); 
      ResetTableAfterAjaxCall(); 
     } 
    }); 

(아래 당으로) 데이터로 전달 나는 조금 내가 토큰을 전달 얼마나 혼란 스러워요 내 현재 설정을 사용하여 ?? 어떤 조언을 크게 감사드립니다.

답변

0

결과를 왜곡해야하는 구체적인 이유가 있습니까? 우리는 이렇게 ..

$.ajax({ 
     type: "POST", 
     data: { 
      permission: Permission, 
      // other fields 
     }... 

이 전달 매개 변수를 이런 식으로 사용하여 토큰을 전달하는 방법은이 문서를 참조하십시오 :

http://weblogs.asp.net/dixin/archive/2010/05/22/anti-forgery-request-recipes-for-asp-net-mvc-and-ajax.aspx

+0

당신이 경우 토큰이 필요하지 않은 것을 읽었다을 JSON을 게시 하시겠습니까? 그 소리가 맞습니까? – leen3o

관련 문제