我有一个 Sencha Touch 应用程序使用 Ext.Ajax.request 跨域调用我的 Web 服务。在构建 Web 服务时,我已启用它来访问跨域请求。然而,Ext 首先发送一个 OPTIONS 请求作为握手,然后发送一个 GET 请求,而 jQuery.ajax 只发送一个 GET 请求。由于我无法控制的情况,托管服务提供商不支持 OPTIONS 请求。目前,我对 ajax 请求使用 jQuery,对应用程序的其余部分使用 Sencha Touch。我真的不想为此加载 jQuery 库。
谁能解释一下为什么 Ext.Ajax 发送一个 OPTIONS 请求,有没有办法让它只发送一个 GET?
谢谢
最佳答案
在 Ext.Ajax.request
配置中,将 useDefaultXhrHeader
设置为 false。这将阻止额外的 OPTIONS 请求。
根据 the docs :
Set this to false to not send the default Xhr header (X-Requested-With) with every request. This should be set to false when making CORS (cross-domain) requests.
我的经验是 OPTIONS 调用消失了,我得到了我期望的 POST 动词。
关于javascript - Ext.Ajax.request在jQuery.ajax发送GET时发送OPTIONS请求跨域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10830334/