我正在使用django restframe work,当我使用浏览器发送PUT请求时,它像以前一样使用ajax发送请求时工作well.but,它告诉我csrf令牌丢失或未更正。
我的jQuery代码如下所示:
$.ajax({
url: "/api/users/1/",
type: "PUT",
datatype: "json",
data: {csrfmiddlewaretoken: csrf_token, "user_gender": 2, "user_details": 23 },
....在chrome控制台中
csrfmiddlewaretoken:wUlPIaEmZd2FMA2ob9VRSVKWpOf6EQHn
user_gender:0
user_details:111asdfasdfsdfI'd console.log(csrf_token),它与我在浏览器中使用的相同。
我跟随布莱恩在这里的Django CSRF check failing with an Ajax POST request,它工作在其他页面使用POST请求。
发布于 2016-03-06 13:48:55
Django文档说,您可以将csrf-token放在AJAX请求的X-CSRFToken头中:https://docs.djangoproject.com/en/dev/ref/csrf/#ajax
https://stackoverflow.com/questions/35823470
复制相似问题