1

一部のデータを API (Django REST Framework) に投稿しようとしてい ます。「AJAX リクエストに CSRF トークンを含める方法」と読んでいます。

しかし、上記のコードはまだ機能していません...コンソールにFORBIDDEN 403メッセージが表示されます(事前に感謝します):

<script src="http://code.jquery.com/jquery-1.9.0.min.js"></script>
<script src="jquery.cookie.js"></script>

$( document ).ready(function() {

$.cookie('csrftoken', 'valueoftoken'); 

var csrftoken = $.cookie('csrftoken');


    function csrfSafeMethod(method) {
        // these HTTP methods do not require CSRF protection
        return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
    }
    $.ajaxSetup({
        crossDomain: false, // obviates need for sameOrigin test
        beforeSend: function(xhr, settings) {
            if (!csrfSafeMethod(settings.type)) {
                xhr.setRequestHeader("X-CSRFToken", csrftoken);
            }
        }
    });

  var filme={"name": "PROVAJSON", "categorie": "all_ages", "is_available": true};

  $.ajax({
          type: "POST",
           url: myurltopost,
           contentType: "application/json; charset=utf-8",
           data: filme,
           dataType:"json",
           success: function(result){ 
                    alert("done);
                    }
           });


});
4

0 に答える 0