如何在请求默认头Ext JS中发送全局变量值

时间:2017-01-19 15:23:00

标签: javascript extjs

我想在每个ajax请求中将全局变量值作为默认请求标头发送。以下是我试过的代码

// fetches new token on every response
   Ext.Ajax.on('requestcomplete', function(conn, response, options) {
            if (!Ext.isEmpty(response) && !Ext.isEmpty(response.getResponseHeader("Token"))) {
               MySharedData.myToken = response.getResponseHeader("Token");
            }
        });

//sends the new token on every request for validation
Ext.Ajax.defaultHeaders = {
            newToken: MySharedData.myToken
        };


Ext.define('MySharedData', { 
    singleton: true, 
    myToken: ''
}); 

当前在请求之后,在全局变量中正确设置了值。但是当我尝试在请求中的默认标头中发送值时。它被发送为空白值。请帮忙。

1 个答案:

答案 0 :(得分:0)

这些是您可以添加的请求标头字段(refer请求标头字段主题):

•Accept-Charset

•Accept-Encoding

•接受语言

•授权

•期待

•来自

•主持人

<强> ....

•用户代理

随机添加任何内容都不是一个好方法,而是可以使用extraParams发送任何此类数据。

extraParams: { newToken : MySharedData.myToken }

如果是授权令牌,则可以添加到“授权”请求标头字段。发送defaultHeader json。在为请求创建实例后,请参考setDefaultHeaders方法设置默认标头字段。