问题标签 [cors]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2975 浏览

ajax - 为什么我的跨域 POST 请求预检了 OPTIONS 请求?

根据 Mozilla 开发人员中心HTTP 访问控制文章,跨站点 POST 请求可以是“简单的”——即不需要预检——如果请求的 Content-Type 是application/x-www-form-urlencoded.

我在 Firefox 中没有出现这种行为,我完全不明白为什么会这样。这是我的设置代码:

这是我正在 ping 的服务器:

现在,如果我执行一个简单的 POST 请求——使用application/x-www-form-urlencoded上面代码中发送的数据——该请求会在 Firefox 中使用 OPTIONS 请求进行预检。它没有在 Chrome 中预检。在运行之前打开 Fiddler 亲自查看:

这是 Fiddler 中的预检 OPTIONS 请求(请注意Access-Control-Request-Method: POST标头,即使我指定了所谓的安全 Content-Type 并且没有自定义标头):

这是怎么回事?这是 Firefox 中的错误,还是我做错了什么?谢谢!

0 投票
17 回答
806954 浏览

javascript - 从文件:// URL 运行的应用程序发出的请求“Access-Control-Allow-Origin 不允许 Origin null”错误

我正在开发一个页面,该页面通过 jQuery 的 AJAX 支持从 Flickr 和 Panoramio 中提取图像。

Flickr 端工作正常,但是当我尝试$.get(url, callback)从 Panoramio 时,我在 Chrome 的控制台中看到一个错误:

XMLHttpRequest 无法加载http://www.panoramio.com/wapi/data/get_photos?v=1&key=dummykey&tag=test&offset=0&length=20&callback=processImages&minx=-30&miny=0&maxx=0&maxy=150。Access-Control-Allow-Origin 不允许 Origin null。

如果我直接从浏览器查询该 URL,它就可以正常工作。发生了什么事,我可以解决这个问题吗?我是否错误地编写了我的查询,或者这是 Panoramio 所做的事情以阻碍我正在尝试做的事情?

Google 没有在错误消息中找到任何有用的匹配项。

编辑

这是一些显示问题的示例代码:

您可以在线运行该示例

编辑 2

感谢达林在这方面的帮助。 上面的代码是错误的。 改用这个:

0 投票
3 回答
11741 浏览

javascript - 在 Safari 中使用 CORS 跨域 cookie

我遵循了这个例子:http ://arunranga.com/examples/access-control/credentialedRequest.html

从这个页面:http ://arunranga.com/examples/access-control/

该示例适用于 Firefox,但不适用于 Safari,是否有人尝试过实现 CORS 跨域 cookie 处理并在 Safari 中取得成功?

谢谢。

0 投票
5 回答
300932 浏览

jquery - XMLHttpRequest cannot load an URL with jQuery

I'm trying to get some json data from a "remote" website. I run my web service on the 99000 port then, I launch my website on the 99001 port (http://localhost:99001/index.html).

I get the following message:

Even If I launch my web page as an HTML file, I get this:

The web service returns data. I try to catch the data items like this:

And I'm trying to get this structure:

Do you know why I'm getting this error?

0 投票
1 回答
1110 浏览

firebug - XMLHttpRequest 在 Firefox 3.6.10 及更高版本中从跨源请求返回状态 0

我正在开发一个向使用 Netty 编写的 HTTP 服务器发出跨源 AJAX 请求的应用程序。

下面是正在执行的 Javascript 代码类型的示例。

我看到的问题是,在 Firefox(3.6.10 和 4.0 beta)上,XMLHttpRequest 的状态始终为 0,无论响应的状态如何。在萤火虫中,我可以看到服务器正在返回请求的正确状态,但这并没有被推送到 XMLHttpRequest 对象。

以下是正在发送的请求和响应标头

我尝试在 Chrome、Opera 和 Safari 中执行代码,它们都运行良好。这是我正在做的事情还是 Firefox 中的错误?

提前致谢。

0 投票
1 回答
5029 浏览

http - (移动)浏览器是否支持跨域资源共享?

我正在构建一个使用w3c CORS向远程服务器发出 oAuth 签名的 HTTP 请求的站点。Mozilla 有一个很棒的文档来解释如何发出和接收 CORS 请求,并且在 firefox、chrome 和 safari 中有很好的支持。

是否有人维护对 CORS 功能的浏览器支持矩阵(例如,跨域非简单 GET 的预检 OPTIONS 请求)?

我对移动浏览器特别感兴趣。谁能指出我跟踪 CORS 支持的资源?

0 投票
4 回答
28164 浏览

ajax - Web 套接字使 ajax/CORS 过时了吗?

在所有 Web 浏览器中使用 Web 套接字会使 ajax 过时吗?

因为如果我可以使用 Web 套接字来实时获取数据和更新数据,我为什么需要 ajax?即使我在应用程序启动时使用 ajax 只获取一次数据,我仍然可能想看看这些数据是否在一段时间后发生了变化。

Web 套接字是否可以在跨域中使用,或者只能在同一个来源中使用?

0 投票
1 回答
2494 浏览

jquery - 跨域资源共享

您好,我一直在阅读“CORS”。

我想我理解这个概念。但是,我在执行跨域 POST 请求时遇到了一些困难。

我在本地 IIS 上设置了两个测试站点。

目前,以下代码有效:

但是,一旦我将类型"GET"更改为"POST",我就会收到 405 Method Not Allowed, 错误。

我在 IIS7.5 中托管测试站点。我已将以下 HTTP 响应标头添加到托管在的站点中http://localhost/CORSServer

我可能误解了我读过的资料,我假设 CORS 可以使用跨域发布?

谁能看到我做错了什么,或者我误解了什么?

干杯,

詹姆士

0 投票
10 回答
266965 浏览

jquery - XMLHttpRequest Origin null 不允许使用 Access-Control-Allow-Origin for file:/// 到 file:///(无服务器)

我正在尝试创建一个可以通过启动其索引文件在本地下载和运行的网站。

所有文件都是本地的,没有在线使用资源。

当我尝试使用 jQuery 的 AJAXSLT 插件来处理带有 XSL 模板(在子目录中)的 XML 文件时,我收到以下错误:

XMLHttpRequest cannot load file:///C:/path/to/XSL%20Website/data/home.xml. Origin null is not allowed by Access-Control-Allow-Origin.

XMLHttpRequest cannot load file:///C:/path/to/XSL%20Website/assets/xsl/main.xsl. Origin null is not allowed by Access-Control-Allow-Origin.

发出请求的索引文件是file:///C:/path/to/XSL%20Website/index.html在使用的 JavaScript 文件存储在file:///C:/path/to/XSL%20Website/assets/js/.

我该如何解决这个问题?

0 投票
1 回答
1442 浏览

javascript - Firefox 3 CORS XMLHTTPRequest 似乎不起作用

我实现了一个 REST 服务,我从不同域上的 javascript 应用程序调用该服务。

我正在尝试执行 GET 请求,并使用自定义身份验证方案设置 Authorization: 标头。

因为我正在设置自定义标头,Firefox 将从预检 OPTIONS 请求开始。这个请求看起来像这样(简化):

我的回复如下:

在此之后,根本不执行实际的 GET 请求。我担心我在回答中犯了错误,但我似乎无法发现它。

另一个问题是我找不到详细的错误消息。如您所见,我还尝试了 X-Authorization 而不是 Authorization。

我的问题:

我的回复有问题吗?如何找到有关该问题的更多详细信息?

谢谢!