一部のデータを 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);
}
});
});