如何在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}, 

我已经读的地方,它不能发送形式的标题提交。那么有什么办法可以实现我的目标?

+0

使用正常的表单提交,而不是阿贾克斯,并尝试在您的要求设置的默认头“。 –

+0

@ diamond421你尝试过没有标题? –

您可以使用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