2017-12-18 3 views
0

나는이 주제에 대해 많은 탐색을 해왔으며 이와 유사한 모든 해결 된 질문에도 불구하고이 문제를 해결하는 데 어려움이 있습니다.ajax 게시물과 함께 이벤트를 전달하여 csrf 토큰으로보기

나는 다음과 아약스 게시물보기에 간단한 클릭 이벤트를 전달하는 데 노력하고 있어요 :

$('#continue').click(function() { 
    // var csrftoken = getCookie('csrftoken'); 

    $.ajax({ 
     url: window.location.pathname, 
     method: 'POST', 
     info: 'ReadLSL', 
     data: {_token: getCookie('csrftoken')}, 
     success: function (data) {console.log("Acc Data is being saved to DB");} 
    }); 
}); 
// GET CSRF COOKIE 

function getCookie(name) { 
    var cookieValue = null; 
    if (document.cookie && document.cookie != '') { 
     var cookies = document.cookie.split(';'); 
     for (var i = 0; i < cookies.length; i++) { 
      var cookie = jQuery.trim(cookies[i]); 
      // Does this cookie string begin with the name we want? 
      if (cookie.substring(0, name.length + 1) == (name + '=')) { 
       cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); 
       break; 
      } 
     } 
    } 
    return cookieValue; 
} 

이는 다음보기위한 것입니다 :

def myView(request): 
     """...""" 
     if request.method == 'POST': 
      if request.info == 'ReadLSL': 
       return HttpResponse("OK") 

하지만 난 403을 가지고 계속 오류

금지 (누락되거나 잘못된 CSRF 토큰입니다.)

오류.

편집 변경 '의 목적은 무엇인가

+0

에 @를 zohaib - 빈 라덴 의견을 반영하기 위해 이루어졌다 정보 : 'ReadLSL', '? – Musa

답변

0

이 줄을 변경하려고

data: {csrfmiddlewaretoken: getCookie('csrftoken')},

data: {_token: getCookie('csrftoken')},

+0

@ Zohaib-aslam. 감사합니다. 하지만 이제는 새로운 403 오류를 반환합니다. – Pierre

+0

그러면 서버 측 코드에있는 것입니다. 거기를 확인해야합니다. 당신이 할 수있는 것은 단지 서버 측 코드에서 메소드의 시작 부분에'dd '를 놓을 수 있고 요청이 잘 도달했는지 여부를 알 수 있습니다. 그런 다음 나머지 코드를 디버깅 할 수 있습니다. –

관련 문제