2017-08-17 7 views
0

ExtJSとweb APIでファイルをアップロードしようとしています。そのために、私はサーバーに認証ヘッダーを送る必要がありますが、私がしようとするたびにヘッダーにヌル値が得られます。私もbeforerequest関数でXHR要求のヘッダーを送信しようとしましたが、まだnull値があります。ここでエクステンションのajaxリクエストにオーソライゼーションヘッダを追加する

コードです:

Ext.Ajax.request({ 
      url: 'url', 
      method: 'Post', 
      headers : {'Authorization':'Bearer '+access_token}, 
      form: form, 
      isUpload: true, 
      params: {id: id}, 

私はそれが提出する形で、ヘッダを送信することはできませんことをどこかで読んだことがあります。私の目標を達成する方法はありますか?

+0

FormDataについて正規形ではなく、Ajaxを提出し、またあなたのリクエストで「デフォルトのヘッダ」を設定してみてください。 –

+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); 

もっと利用

+0

ファイルのアップロードに問題はありません。唯一の問題は、xhrを使用した後でも、サーバーにヘッダーを送信できないことです – diamond421

関連する問題