我试图通过参数将头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()中填充授权头。我花了好几个小时试图找到这样做的语法。我尝试的所有标题都没有添加。
有人能教我怎么做吗?
这就是我试过的:
targetStore.load({
params: {
username: uname
},
//headers: {
// Authorization: 'Bearer ' + token;
//},
callback: function (records, operation, success) {发布于 2016-09-24 08:19:26
您不能在负载中这样做,就像您无法在负载中提供其他extraParams一样。在load中,您只能覆盖一小部分信任,而不是几乎所有。您必须在加载之前设置它:
store.getProxy().setHeaders({
Authorization:'Bearer ' + ...
});
store.load({
...如果setHeaders is not a function在您的ExtJS版本中,您可以只设置
store.getProxy().headers = {
Authorization:'Bearer ' + ...
};https://stackoverflow.com/questions/39671185
复制相似问题