2016-09-24 11 views
0

Authorization: 'Bearer <TOKEN>'のヘッダーをパラメーターstore.load()に渡そうとしていますが、機能しません。extjs store.load pass認証ヘッダーが流れていません

それは私がこのようにそれを行う場合は動作します:

Ext.define('ExtApplication4.model.MenuListModel', { 
    extend: 'ExtApplication4.model.Base', 
    requires: [ 
     'ExtApplication4.model.Base' 
    ], 
    fields: [ 
     { 
      name: 'text', 
      type: 'string' 
     }, 
     { 
      name: 'iconCls', 
      type: 'string' 
     }, 
     { 
      name: 'className', 
      type: 'string' 
     } 
    ], 
    proxy: { 
     type: 'ajax', 
     url: 'http://xxxxx/xxx/api/user/getusermenus/', 
     reader: { 
      type: 'json', 
      rootProperty: 'data' 
     }, 
     headers: { 
      Authorization: 'Bearer ' + Ext.decode(Ext.util.Cookies.get('token')) 
     } 
    } 
}); 

問題は、私は私のstore.load()にAuthorizationヘッダーを移入したいです。 私はこれを行うための構文を見つけるのに何時間も費やしてきました。ヘッダーを試すものはすべて追加されません。

誰かに私にこれを行う方法を教えてもらえますか?

これは私が試したものです:

targetStore.load({ 
    params: { 
     username: uname 
    }, 
    //headers: {    
    // Authorization: 'Bearer ' + token; 
    //}, 
    callback: function (records, operation, success) { 

答えて

6

あなたはあなたの負荷で他のextraParamsを提供することはできません同じように、あなたの負荷でそれを行うことはできません。ロード時には、configsの小さなサブセットだけを上書きすることができますが、ほとんどすべてを上書きすることはできません。あなたがロードする前に、あなたはそれを設定する必要があります:

store.getProxy().setHeaders({ 
    Authorization:'Bearer ' + ... 
}); 
store.load({ 
    ... 

をExtJSののバージョンでは、あなただけの

store.getProxy().headers = { 
    Authorization:'Bearer ' + ... 
}; 
+0

感謝を設定することができますsetHeaders is not a function場合は働いていた...ありがとうございました!!!! – solarissf

関連する問題