2017-08-17 168 views
0

我想在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你嘗試過沒有標題? –

回答

0

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