【发布时间】:2014-01-09 09:37:14
【问题描述】:
我在我的 Django 应用程序中使用 XMLHttpRequest() 发送图像文件。这是我的脚本:
$('#edit_user_image').change(function(){
var client = new XMLHttpRequest();
var file = document.getElementById("edit_user_image");
/* Create a FormData instance */
var formData = new FormData();
/* Add the file */
formData.append("csrfmiddlewaretoken", document.getElementsByName('csrfmiddlewaretoken')[0].value);
formData.append("upload", file.files[0]);
client.open("post", "/upload-image/", true);
client.setRequestHeader("Content-Type", "multipart/form-data; charset=utf-8; boundary=frontier");
client.send(formData); /* Send to server */
});
这是我的 html 输入:
Upload New Photo
{% csrf_token %}
<input id="edit_user_image" name="image" type="file" />
但是,当创建 XMLHttpRequest() 时,即使我将它附加到数据中,它也会给出“CSRF 验证失败”错误。谁能告诉脚本中有什么问题。
【问题讨论】:
-
尝试将
X-CSRFToken标头设置为 CSRF 令牌的值。 Docs -
@goliney 完成,但没有帮助。
标签: javascript python django xmlhttprequest