extjs store.load 通过授权 header 不流入
extjs store.load pass authorization header not flowing in
我正在尝试通过参数将 header Authorization: 'Bearer <TOKEN>'
传递到我的 store.load()
中,但它不起作用。
如果我这样做就可以了:
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()
中填充授权 header。
我花了几个小时试图找到执行此操作的语法。我尝试 header 的所有内容都没有添加。
谁能告诉我怎么做?
这是我试过的:
targetStore.load({
params: {
username: uname
},
//headers: {
// Authorization: 'Bearer ' + token;
//},
callback: function (records, operation, success) {
你不能在你的load中做,就像你不能在你的load中提供其他extraParams一样。在负载中,您只能覆盖一小部分配置,但不是几乎全部。您必须在加载前进行设置:
store.getProxy().setHeaders({
Authorization:'Bearer ' + ...
});
store.load({
...
如果你的 ExtJS 版本 setHeaders is not a function
,你可以只设置
store.getProxy().headers = {
Authorization:'Bearer ' + ...
};
我正在尝试通过参数将 header Authorization: 'Bearer <TOKEN>'
传递到我的 store.load()
中,但它不起作用。
如果我这样做就可以了:
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()
中填充授权 header。
我花了几个小时试图找到执行此操作的语法。我尝试 header 的所有内容都没有添加。
谁能告诉我怎么做?
这是我试过的:
targetStore.load({
params: {
username: uname
},
//headers: {
// Authorization: 'Bearer ' + token;
//},
callback: function (records, operation, success) {
你不能在你的load中做,就像你不能在你的load中提供其他extraParams一样。在负载中,您只能覆盖一小部分配置,但不是几乎全部。您必须在加载前进行设置:
store.getProxy().setHeaders({
Authorization:'Bearer ' + ...
});
store.load({
...
如果你的 ExtJS 版本 setHeaders is not a function
,你可以只设置
store.getProxy().headers = {
Authorization:'Bearer ' + ...
};