我想在每个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: ''
});
当前在请求之后,在全局变量中正确设置了值。但是当我尝试在请求中的默认标头中发送值时。它被发送为空白值。请帮忙。
答案 0 :(得分:0)
这些是您可以添加的请求标头字段(refer请求标头字段主题):
•Accept-Charset
•Accept-Encoding
•接受语言
•授权
•期待
•来自
•主持人
<强> .... 强>
•用户代理
随机添加任何内容都不是一个好方法,而是可以使用extraParams发送任何此类数据。
extraParams: {
newToken : MySharedData.myToken
}
如果是授权令牌,则可以添加到“授权”请求标头字段。发送defaultHeader json。在为请求创建实例后,请参考setDefaultHeaders方法设置默认标头字段。