我在Django呈现的一个html中有2个$.ajax()
函数。第一个正常工作,第二个用403 CSRF Failed: CSRF token missing or incorrect.
这是相关的js代码:
$(document).ready(function(){
window.CSRF_TOKEN = "{{ csrf_token }}";
....
$.ajax({
method: "POST",
url: "{% url 'alpha:create_cart_item' %}",
data: {'item': stockitem_id, 'quantity': '1', 'csrfmiddlewaretoken': window.CSRF_TOKEN},
success: function(resp){...}
....
$.ajax({
method: "PUT",
url: "{% url 'alpha:update_cart_item' 0 %}".replace("0", cartitem_id),
data: {'pk': cartitem_id, 'csrfmiddlewaretoken': window.CSRF_TOKEN},
success: function(resp){
panel_div.hide();
},
error: function(resp){
}
});
第二个Ajax请求无效。我以完全相同的方式设置csrfmiddlewaretoken。我为什么得到403?显然我错过了什么,请帮助。
更新
调试这个我发现如果我将第二个请求的方法更改为“POST”,它就能正常工作。但我确实需要这种方法是“PUT”。
另外,我正在使用Django REST Framework ......