У меня очень простая форма, к которой я добавил загрузчика. Когда я призываю загрузчик, Джанго возвращает { «детали»: «CSRF Ошибка:. CSRF маркер отсутствует или неправильно»} Это загрузчик:dojox.form.Uploader 403 ошибка с сервера django
var ul = new Uploader(
{
label:"Programmed uploader",
multiple:false,
uploadOnSelect:true,
url:Environment.apiRoot + "upload/",
headers:{
"Accept" : "application/json",
"X-CSRFToken" : dojo.cookie("csrftoken")
}
}).placeAt(form);
Я создал простую кнопку «тест», который вызывает функцию который выполняет тот же пост.
new Button({
name:"Cancel2",
//id:"Cancel",
label:"Cancel" ,
placement:"secondary",
onClick:lang.hitch(this,function(event){
this._testpost()
})
}).placeAt(form);
Это relavent заголовок от пользователя отправлять
Cookie djdt = шкурку; csrftoken = WwlARc9OUevblKfgNEDU2Ae4eT9z0kos; SessionID = du37rjyam6v69mw0bgctkbw708xlvc5g
Это _testpost()
_testpost: function(){
xhr.post({
url: Environment.apiRoot + "upload/",
handleAs: "json",
postData: json.stringify(data),
headers: {
"Content-Type": "application/json",
"Accept" : "application/json",
"X-CSRFToken" : dojo.cookie("csrftoken")
},
loadingMessage: "Submitting form..."
}).then(
lang.hitch(this,function(result) {
form = t._f_form;
dojo.destroy(form);
this._float.destroyRecursive();
alert(result['result_text']);
result['message'] = "Update Request Accepted";
}),lang.hitch(this, function(err){
form = t._f_form;
dojo.destroy(form);
this._float.destroyRecursive();
topic.publish("/application/message","An error occurred.");
}));
это соответствующий заголовок от вызова функции _testpost
Печенье djdt = шкурку; csrftoken = WwlARc9OUevblKfgNEDU2Ae4eT9z0kos; SessionID = du37rjyam6v69mw0bgctkbw708xlvc5g
X-CSRFToken WwlARc9OUevblKfgNEDU2Ae4eT9z0kos
Основное различие в том, что в _testpost Х-CSRFToken помещается в заголовок, но на пост Uploader, у меня нет никаких средств положить в X-CSRFToken (атрибут мои заголовки, кажется, просто игнорировать - я пробовал, чтобы увидеть, если я мог бы получить эту работу)
есть ли способ, чтобы получить дополнительные заголовки в Uploader