首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >extjs store.load传递授权头没有流入

extjs store.load传递授权头没有流入
EN

Stack Overflow用户
提问于 2016-09-24 00:07:56
回答 1查看 2K关注 0票数 0

我试图通过参数将头Authorization: 'Bearer <TOKEN>'传递到我的store.load()中,但它不起作用。

如果我这样做是可行的:

代码语言:javascript
复制
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()中填充授权头。我花了好几个小时试图找到这样做的语法。我尝试的所有标题都没有添加。

有人能教我怎么做吗?

这就是我试过的:

代码语言:javascript
复制
targetStore.load({
    params: {
        username: uname
    },
    //headers: {            
    //    Authorization: 'Bearer ' + token;
    //},
    callback: function (records, operation, success) {
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-24 08:19:26

您不能在负载中这样做,就像您无法在负载中提供其他extraParams一样。在load中,您只能覆盖一小部分信任,而不是几乎所有。您必须在加载之前设置它:

代码语言:javascript
复制
store.getProxy().setHeaders({
    Authorization:'Bearer ' + ...
});
store.load({
    ...

如果setHeaders is not a function在您的ExtJS版本中,您可以只设置

代码语言:javascript
复制
store.getProxy().headers = {
    Authorization:'Bearer ' + ...
};
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39671185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档