LPology/Simple-Ajax-Uploaderにcsrfトークンを挿入するにはどうすればよいですか?ファイルアップロード用のcsrfトークンを挿入してください
私はcustomHeaders
で試しましたが、成功しませんでした。
https://github.com/LPology/Simple-Ajax-Uploader/tree/master/examples/basic_exampleは、私が代わりにバックエンドではDjango 1.9を使用します。 はあるが、$("input[name='csrfmiddlewaretoken']").val()
はqEN1kNfYYkAasfqBn3AigICJmz4MIlei
var uploader = new ss.SimpleUpload({
button: btn,
url: 'file_upload/',
name: 'uploadfile',
customHeaders: {
'X-CSRF-TOKEN': $("input[name='csrfmiddlewaretoken']").val()
},
multipart: true,
hoverClass: 'hover',
focusClass: 'focus',
responseType: 'json',
startXHR: function() {
progressOuter.style.display = 'block'; // make progress bar visible
this.setProgressBar(progressBar);
},
onSubmit: function() {
msgBox.innerHTML = ''; // empty the message box
btn.innerHTML = 'Uploading...'; // change button text to "Uploading..."
},
onComplete: function(filename, response) {
btn.innerHTML = 'Choose Another File';
progressOuter.style.display = 'none'; // hide progress bar when upload is completed
if (!response) {
msgBox.innerHTML = 'Unable to upload file';
return;
}
if (response.success === true) {
msgBox.innerHTML = '<strong>' + escapeTags(filename) + '</strong>' + ' successfully uploaded.';
} else {
if (response.msg) {
msgBox.innerHTML = escapeTags(response.msg);
} else {
msgBox.innerHTML = 'An error occurred and the upload failed.';
}
}
},
onError: function() {
progressOuter.style.display = 'none';
msgBox.innerHTML = 'Unable to upload file';
}
});
};
全例を示します。ページのマークアップのための<input type='hidden' name='csrfmiddlewaretoken' value='7CzH2kocMFDiGhSBlBY5OelS6oSND1Iw' />
を生成{% csrf_token %}
<form>{% csrf_token %}
...
</form>
Dgangoタグ:私のフロントエンド形式は次のようになります。
あなたが正しいです、正しいプロパティ名は 'X-CSRFToken'です。どうもありがとうございました。 – trex