【问题标题】:Why is CORS header not respected as part of an XHR call?为什么 CORS 标头不被视为 XHR 调用的一部分?
【发布时间】:2019-07-06 02:20:32
【问题描述】:

我有这个 sn-p,我可以使用 jQuery 在任何站点的控制台上运行它,并且在我看到它的标头之前,请求就被取消了。

jQuery.ajax({
    url:"https://example.com/api",
    cache:false,
    global:false,
    crossDomain:true,
    data: {
        'whatever': 1234
    },
    xhrFields: {
        withCredentials: true
    },
    dataType:"json"
});

在控制台中可以看到通常的“被 CORS 策略阻止:请求的资源上不存在 'Access-Control-Allow-Origin' 标头”。但是当我在新选项卡中自行加载我的 API URL 时,我可以看到设置了正确的标题:

访问控制允许来源:*

使用开发人员工具进行检查时会出现。但是,当从页面运行该 sn-p 时,“网络”选项卡将其状态列为“已取消”,对于标题,我只看到“显示临时标题”,而真正的标题则没有。

API 服务器是基于 WordPress 的,我相信我正确设置了标题。从here 尝试了这两种方法。

【问题讨论】:

    标签: jquery cors xmlhttprequest cross-domain


    【解决方案1】:

    哦,我不得不放弃withCredentials,因为它不允许通配符来源。此外,API URL 缺少尾部斜杠。当向 WP 发出请求时,它 301 会重定向到带有斜杠的 URL。但是,第一页(请求到达的地方)没有标题。

    【讨论】:

      猜你喜欢
      • 2015-02-01
      • 1970-01-01
      • 2023-01-19
      • 1970-01-01
      • 2021-08-24
      • 2020-07-05
      • 2012-10-30
      • 1970-01-01
      • 2012-09-26
      相关资源
      最近更新 更多