1

如果您访问http://www.example.com/dir上的网站,那么对http://example.com/dir/something.php的任何 ajax 请求(缺少 www)都会导致以下消息显示在谷歌浏览器的控制台:

XMLHttpRequest cannot load http://example.com/dir/something.php.
Origin http://www.example.com is not allowed by Access-Control-Allow-Origin.

这是怎么回事,可以做些什么来解决这个问题?

编辑:当您访问 www.example.com 时,example.com 设置的任何 cookie 似乎也会消失?

4

2 回答 2

2

子域被认为是“不同的域”,因此将被阻止。包括在其中是www因为它被认为是example.com

可以通过 iframe 通信解决此问题,因为 iframe 可以与主页内容进行通信,只要它们位于同一个顶级域中。

于 2012-10-31T15:15:00.440 回答
2

www.example.com并且example.com是不同的域,它们可以提供不同的内容。www.stackoverflow.com仅重定向到,stackoverflow.com但从技术上讲,它可以显示一个充满小马的站点。

请参阅起源确定规则- 它实际上使用完全相同的example.com( nomen est omen! ) 作为示例。

于 2012-10-31T15:16:28.790 回答