【问题标题】:Disable preflight OPTION request when sending a cross domain request with custom HTTP header发送带有自定义 HTTP 标头的跨域请求时禁用预检 OPTION 请求
【发布时间】:2013-04-24 14:12:02
【问题描述】:

我刚刚发现我的浏览器在尝试使用自定义 http 标头进行跨域 ajax 调用时发送了一个额外的“OPTION”请求。 我想它被称为“预检请求”。

是否可以禁用此功能并仅发送初始请求?

这是我的 javascript 测试代码:

$(document).ready(function() {
    $.ajax({
        url: "http://google.fr",
        crossDomain: true,
        headers: {
            "X-custom-parameter": true
        }
    });
});

感谢您的帮助!

【问题讨论】:

    标签: ajax http-headers cross-domain option preflight


    【解决方案1】:

    不,绝对不可能绕过 CORS 预检请求。预检请求的存在是为了以安全的方式允许跨域请求。在上面的示例中,您尝试访问 google.fr,但 google.fr 不支持 CORS。谷歌没有办法解决这个问题,因为谷歌在其网页上不支持跨域请求。一般来说,如果您拥有服务器的所有权,您可以选择支持 CORS、支持 JSON-P 等替代跨域黑客攻击或使用服务器端代理。

    【讨论】:

      猜你喜欢
      • 2018-02-09
      • 1970-01-01
      • 2014-01-03
      • 2013-01-24
      • 1970-01-01
      • 2012-03-07
      • 1970-01-01
      • 1970-01-01
      • 2016-11-10
      相关资源
      最近更新 更多