我正在使用此处的答案( JavaScript post request like a form submit )在浏览器的 javascript 中进行发布。但是Django CSRF检查失败,因为模板中的表单中有{% csrf_token %}。怎么做?需要添加下面这段代码吗?
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", 'csrfmiddlewaretoken');
hiddenField.setAttribute("value", '{{ csrf_token }}');
form.appendChild(hiddenField);
欢迎任何提示、建议和评论。谢谢
最佳答案
如果您使用 ajax 提交表单,您还必须提交 csrf token 值。 举个例子。
$.ajax({
type: "POST",
url: url,
data:{
'csrfmiddlewaretoken':$('input[name="csrfmiddlewaretoken"]').val(),
},
success: function(response){
}
});
或者您可以将 ajax 数据中的序列化表单发送为
data: $("#form").serialize(),
关于javascript - Django CSRF 检查 JavaScript post 请求(如表单提交)失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37872092/