簡體   English   中英

CSRF驗證失敗

[英]CSRF verification failed

我在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驗證失敗”錯誤。 誰能說出腳本中的錯誤。

這是我所做的一些更改,現在可以正常使用了:

$('#edit_user_image').change(function(){
    var client = new XMLHttpRequest();
    var file = document.getElementById("edit_user_image");
    var csrftoken = document.getElementsByName('csrfmiddlewaretoken')[0].value
    /* Create a FormData instance */

    var params = file.files[0];


    client.open("post", "/upload-image/", true);
    client.setRequestHeader("X-CSRFToken", csrftoken);
    client.setRequestHeader("Content-Type", "multipart/form-data; charset=UTF-8; boundary=frontier");
    client.send(params);  /* Send to server */ 
  });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM