Dav*_*Hay 0 ajax sencha-touch sencha-touch-2
我正在Sencha Touch 2中编写应用程序,作为其中的一部分,我有许多使用ajax代理和json阅读器的商店从我的外部Web服务自动加载.该服务托管在与客户端不同的域上,因此我必须在服务器上设置Access-Control-Allow-Origin才能使其正常工作.
一切都在游戏中使用这个设置,但我正在使用Fiddler查看请求性能,我注意到我的webservice的每次调用实际上都是两次.一旦作为OPTIONS请求,然后再次作为预期的GET.据我所知,OPTIONS请求没有任何用处 - 至少在我的设置中 - 所以我想摆脱它以使加载性能变得更快.
有谁知道这是怎么回事?如果我可以在代理上设置一个可以关闭它的配置,那就太棒了,但我还没有找到它.
谢谢你的期待!
我想出来了,这一切都与Sencha传递的x-requested-with标头及其ajax调用有关.这篇博客文章(http://remysharp.com/2011/04/21/getting-cors-working/)详细介绍,但简短的版本是在一个奇怪的功能中,浏览器发出的只有当您在请求中包含任何自定义标头时,才会检查航班选项.如果你没有在请求中添加任何标题,并且只是保持原样,那么GET将完成,没有OPTIONS检查.
我挖源并发现Sencha实际上确实有一个配置来控制是否发送x-requested-with,它只是在正常使用中没有暴露.
Ext.Ajax.setUseDefaultXhrHeader(false);
Run Code Online (Sandbox Code Playgroud)
我只是在请求发出之前设置它,它会丢弃x-requested-with,只有GET会消失.
| 归档时间: |
|
| 查看次数: |
1850 次 |
| 最近记录: |