2016-11-28 25 views
2

我想使用Ext.Ajax.request上傳文件。因此我添加了文件輸入字段的編號(form: formId)。我還想爲請求添加一些標頭(Accept,Authorization,...),當我不添加form參數時,該請求起作用。然而,當表單參數設置我的標題將被忽略任何原因。未使用Ext.Ajax.request表單上傳設置的標頭

我使用ExtJs 6.2現代版。

如何在表單參數設置爲請求時添加標題?

Ext.Ajax.request({ 
      cors: true, 
      useDefaultXhrHeader: false, 
      method: 'POST', 
      url: someUrl, 
      headers: { 
       'Accept': 'application/json', 
       'Authorization': someString, 
       'usertoken': someString 
      }, 
      params: { 
       name: fileName, 
       override: false 
      }, 
      isUpload: true, 
      form: formId 
     }) 

回答

0

當您使用表單選項發出請求時,其實際上並不是Ajax請求,因此您無法傳遞額外的標頭。

Docs

文件上傳使用普通的「Ajax」的技術沒有進行,這是他們沒有使用XMLHttpRequest的執行。相反,表單是以標準方式提交的,並且臨時修改了DOM元素,以便將其目標集設置爲引用動態生成的隱藏,將其插入到文檔中,但在收集返回數據後將其刪除。