如何在extjs中的ajax请求中添加授权标头
问题描述:
我想在ExtJS和web API中上传文件。为此,我需要向服务器发送一个授权头文件,但每当我尝试这样做时,头文件中都会得到一个空值。我也尝试在beforerequest
函数中发送带有XHR请求的标头,但我仍然得到空值。如何在extjs中的ajax请求中添加授权标头
下面是代码:
Ext.Ajax.request({
url: 'url',
method: 'Post',
headers : {'Authorization':'Bearer '+access_token},
form: form,
isUpload: true,
params: {id: id},
我已经读的地方,它不能发送形式的标题提交。那么有什么办法可以实现我的目标?
答
您可以使用FORMDATA对象和XMLHttpRequest的像这样的上传文件:
var xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
var formData = new FormData();
for (var i= 0; i< files.length; i++) {
var file = files[i];
formData.append(file.name, file);
}
xhr.onreadystatechange = function(eOpts) {
if (xhr.readyState !== 4 || me.isDestroyed) {
return;
}
......
};
xhr.send(formData);
更多FormData
+0
上传文件没有问题,唯一的问题是我无法发送标题到服务器,即使使用xhr – diamond421
使用正常的表单提交,而不是阿贾克斯,并尝试在您的要求设置的默认头“。 –
@ diamond421你尝试过没有标题? –