javascript - Ext.Ajax.request在jQuery.ajax发送GET时发送OPTIONS请求跨域

标签 javascript jquery ajax sencha-touch

我有一个 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/

相关文章:

javascript - 跟踪链接到我的 iframe/widget 的 URL

jquery - 使用类将 vclick 绑定(bind)到 url

jquery - Bootstrap 折叠未关闭

使用 Codeigniter 和 jQuery 表单插件上传 Ajax 文件

javascript - 使用 AngularJS 连接 OData 过滤器的字符串时出现问题

javascript - 显示 2 个按钮的 Ajax 组合框

javascript - 我对在哪里实例化对象感到困惑

jquery - 我们如何针对 DOM 操作执行单元测试?

javascript - 如何在 TypeScript 中声明一个映射到环境定义的全局属性的枚举?

javascript - 如何将数据发布到服务器并捕获响应