这与其他问题类似,但我无法看到完全匹配。对不起,如果之前有人询问,我找不到答案。
我知道如果你在一个域上有一个脚本(比如one.com/index.php
运行one.com/script.js
),那么就不能使用Ajax连接到第三方域(比如连接到{{1 }})。
如果您在另一个域(two.com/ajax.php
正在运行one.com/index.php
)上运行脚本,那么同样也是如此,然后two.com/connect.js
上的脚本将不会转到另一个域?
换句话说,第三方域上的脚本是否能够使用Ajax连接到同一第三方域?
不太了解Ajax(只是足以修改基本代码对我有用),所以我想应该问。
Furquan的答案似乎很好,但解决方案尚未经过测试(我很快,并再次更新),我能够跟随Rudie的帖子中的链接找到this page,这似乎描述如何在PHP中实现解决方案,而无需在第二个域上安装脚本。 我感谢所有回答他们花时间的人。
答案 0 :(得分:3)
没有。加载.js
的位置无关紧要。重要的是XHR的连接来自哪里。目前所有CDN's的脚本都在这里,但主域是(也应该是)脚本运行的域。
如果您拥有“两个域名”,则可以查看https://developer.mozilla.org/en/http_access_control
修改强>
嗯......我不认为我理解(或理解)......或者我?最重要的是:XHR请求在哪个域上开始,以及它在哪里开始。不重要的是:.js
文件位于何处。
答案 1 :(得分:1)
是的,您可以像在方案中提到的那样使用它,two.com/connect.js
将能够毫无问题地访问two.com
。虽然可以有其他方法来实现同样的目标。
答案 2 :(得分:0)
不,脚本的位置无关紧要,它是当前页面的位置。您的示例都将具有相同的跨域限制。