2017-12-18 3 views
0

私はトピックをたくさん閲覧していますが、同様の解決済みの質問にもかかわらず、私はこの問題を解決するのに苦労しています。ajaxでイベントを渡して、csrfトークンで表示する投稿

私は、次のAjaxのポストとビューへの単純なクリックイベントを渡すようにしようとしています。これは、次のビューのためのものです

$('#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トークン欠落または不正確。)

エラーです。

EDIT変更は `の目的は何ですか

+0

に@のzohaib-アスラムコメントを反映するために行われていますinfo: 'ReadLSL'、 '? – Musa

答えて

0

この行を変更してみてください

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

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

+0

@ Zohaib-aslamありがとうございます。しかし、新しい403エラーが返されるようになりました。 – Pierre

+0

それはあなたのサーバー側のコードに何かです。あなたはそこをチェックしなければなりません。あなたができることは、サーバーサイドコードのメソッドの先頭に 'dd'を置くだけで、要求がうまくいくかどうかを知ることができます。その後、残りのコードをデバッグすることができます。 –

関連する問題