【问题标题】:FireFox Not Sending CORS Request (using jQuery)FireFox 不发送 CORS 请求(使用 jQuery)
【发布时间】:2013-04-08 01:44:47
【问题描述】:

我正在尝试发出多个 CORS 请求(PUT、GET、POST)。这些请求在 Chrome 和 Safari 中运行良好。选项被拒绝,但其他请求通过。

以下是我的搜索功能。 Chrome 和 Safari 使用返回的数据调用回调:

function Search (q, fn,){
console.log(q)
$.ajax({
    url: sumeURL+q,
    dataType: 'json',
    headers: headers
}).done(function(data){
    fn(data);
});
}

FireFox 正在记录查询字符串,所以我知道它正在读取 AJAX 调用(我删除了我之前的问题,因为我认为 FireFox 在到达 AJAX 之前可能在某些东西上窒息 - 它没有)。

我正在使用 FireBug,Net 选项卡没有显示来自此搜索功能的 GET 请求的选项。

我看过这个SO question,但我需要为生产而不是开发做这个,所以浏览器插件不是一个好的选择。

什么条件会导致 FireFox 拒绝发送请求,但对 Chrome 或 Safari 没有影响?

如果您需要我从服务器发布访问控制数据,LMK。

【问题讨论】:

  • 您使用的是哪个版本的 Firefox?你能重现test-cors.org上的错误吗?
  • 不,我无法真正设置它,因为 Access-Control-Allow-Origin 仅允许来自某些域(包括我提出请求的域)。我在 FF 20.0
  • 根据我的经验,FF 正在记录它不执行请求的原因。那么它在您的案例中记录了什么?

标签: jquery ajax firefox cors


【解决方案1】:

您的答案可能在此回复中:Why does the preflight OPTIONS request of an authenticated CORS request work in Chrome but not Firefox?

如果飞行前请求响应是 401,Firefox 将停止发送请求,而 Webkit 浏览器将继续处理实际请求(GET、POST 等)

编辑:但话又说回来,您甚至没有看到正在发送的 OPTIONS 请求......不过,上面提到的帖子可能很有用。

【讨论】:

猜你喜欢
  • 2013-03-08
  • 2012-04-07
  • 2014-09-07
  • 2013-05-18
  • 2017-08-20
  • 2014-01-18
  • 1970-01-01
  • 2021-05-29
  • 2018-07-20
相关资源
最近更新 更多