带有ExtJS 4存储的HTTP头

带有ExtJS 4存储的HTTP头,extjs,http-headers,extjs4,store,Extjs,Http Headers,Extjs4,Store,我已经列举了几家商店。但在某一点上,我想在所有这些文件中添加一个HTTP头。使用ExtJS 4,我如何做到这一点?假设您使用的是ajax代理,您可以更新相关存储上的属性。查看代码,它将应用其中的任何内容作为标题 更复杂的解决方案包括覆盖doRequest函数,以执行适合您的操作。不要注意头未定义,这是因为代理的头未初始化,默认头处于连接状态,但在构建请求时,代理(甚至隐式代理)头,将被纳入帐户,因此您可以执行以下操作: Ext.apply(myStore.proxy.headers, {head

我已经列举了几家商店。但在某一点上,我想在所有这些文件中添加一个HTTP头。使用ExtJS 4,我如何做到这一点?

假设您使用的是ajax代理,您可以更新相关存储上的属性。查看代码,它将应用其中的任何内容作为标题


更复杂的解决方案包括覆盖
doRequest
函数,以执行适合您的操作。

不要注意头未定义,这是因为代理的头未初始化,默认头处于连接状态,但在构建请求时,代理(甚至隐式代理)头,将被纳入帐户,因此您可以执行以下操作:

Ext.apply(myStore.proxy.headers, {headerName:headerValue});

好意

wombleton提供的答案很接近,但关键是您必须在门店代理上设置headers属性,而不是门店本身,例如:

Ext.StoreManager.lookup("MyStore").proxy.headers = { foo: "bar" }

下次加载存储时,指定的标题将与请求一起发送。

您可以发布一些代码吗?我没有关于此问题的任何特定代码。这只是一个关于通用json存储的问题。如果它没有实例化,我会覆盖Ext.Ajax.defaultHeaders。但是它已经实例化了,我想添加一个标题。似乎没有办法做到这一点…似乎头只是一个配置选项。一旦存储(和代理)初始化,我从存储中获取代理,更新“headers”(未定义),但这不起任何作用:(在代理初始化之后,您是否尝试过更新头文件?尚未完成,但请查看源文件:…您可以看到,在
doRequest
的点上,它只使用代理文件上的
headers
属性。调试以确保您确实在设置它?您认为存储使用了这个doRequest函数吗?Pr很可能不是。对我来说,设置头起作用了:我创建了一个自定义代理(从ajax代理继承)并重写构造函数来设置头。我在构造函数方法中调用了callParents方法。希望这能帮助一些人^^^我尝试过,但它不起作用。存储已经存在,并且当它“加载”时或者任何它不在account.Mmm中使用新头的东西,但是它使用:Ext.Ajax.defaultHeaders={'X-Something':value};