当包含在远程站点上时,是否可以对驻留在服务器上的文件进行AJAX请求以托管Javascript文件?

时间:2010-09-22 01:20:14

标签: javascript ajax cross-domain

好的,所以我的问题标题可能有点令人困惑。

这是我的例子:

www.WebsiteA.com正在http://www.WebsiteA.com/MyFile.js托管MyFile.js。此文件为http://www.WebsiteA.com/location/file

发出AJAX请求

当这个Javascript文件通过脚本标记包含在WebsiteB上时,Javascript是否会遇到跨域问题,还是基于托管实际Javascript文件的位置?

希望你能理解我,感谢任何回复:)

麦克

3 个答案:

答案 0 :(得分:2)

same origin polic y适用于网站的域名(即您在浏览器地址栏中看到的网址)。 JavaScript文件可以托管在任何域上。 <script>标记不受同一原始政策的约束。

如果浏览器中的地址栏显示www.websiteB.com,如果您对www.websiteA.com上的文件发出请求,则会遇到相同的原始政策。这与托管.js文件的位置无关。如果是这种情况,您可能需要查看以下Stack Overflow帖子以获取一些解决方法:

答案 1 :(得分:0)

您可以这样做 - 这是大多数基于JavaScript的分析跟踪器的工作方式(Google Analytics等)

答案 2 :(得分:0)

这取决于您使用的是相对路径还是完整路径。

  • 如果它是相对的,托管服务器将相对于被调用的URL
  • 如果已满,则可以指定任何域/主机