为什么我收到 403 POST 请求错误?
我不明白这里出了什么问题......
$('#id_submit').click(function(e) {
e.preventDefault();
var form = new FormData($('form')[0])
form.append("image", $("input#id_image")[0].files[0])
var data = {
form: form,
image_form: 123
}
$.ajax({
headers: '{{ csrf_token }}',
type: 'POST',
data: data,
processData: false,
contentType: false
})
})
最佳答案
您没有正确设置{{ csrf_token }}
,您需要将其注入(inject)到POST数据中,或者作为X-CSRFToken
header ,但不能作为整个 标题
。例如,参见 Django documentation on Setting the token on the AJAX request .
在 POST 数据中
var data = {
form: form,
image_form: 123,
<b>csrfmiddlewaretoken: '{{ csrf_token }}'</b>
}
在 POST 标题中
或者我们可以将其包含在帖子标题中,例如:
$.ajax({
headers: <b>{'X-CSRFToken':</b> '{{ csrf_token }}' <b>}</b>,
type: 'POST',
data: data,
processData: false,
contentType: false
});
关于jquery - 为什么我在 Django 中收到 403 POST 请求错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56588338/