当 Javascript 文件包含在远程站点上时,是否可以对驻留在托管 Javascript 文件的服务器上的文件发出 AJAX 请求?
好吧,我的问题标题可能有点令人困惑。
这是我的示例:
www.WebsiteA.com 在 http://www.WebsiteA.com 托管 MyFile.js /MyFile.js。此文件对 http://www.WebsiteA.com/location/file 发出 AJAX 请求
当此 Javascript 文件通过 script 标签包含在 WebsiteB 上时,Javascript 是否会遇到跨域问题,或者是否基于实际 Javascript 文件的托管位置?
希望你能理解我,谢谢你的回复:)
迈克
Ok so my question title may have been a little confusing.
Here's my example:
www.WebsiteA.com is hosting MyFile.js at http://www.WebsiteA.com/MyFile.js. This file makes an AJAX request for http://www.WebsiteA.com/location/file
When this Javascript file is included on WebsiteB through the script tag, will the Javascript run into cross-domain issues or is it based upon where the actual Javascript file is hosted?
Hopefully you understand me ok, thanks for any responses :)
Mike
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
同源策略适用于网站的域(即您在您浏览器的地址栏)。 JavaScript 文件可以托管在任何域中。
标签不受同源策略的约束。
如果浏览器中的地址栏显示
www.websiteB.com
,则当您向www.websiteA.com
上的文件发出请求时,您将遇到同源策略>。这与 .js 文件的托管位置无关。如果是这种情况,您可能需要查看以下 Stack Overflow 帖子以获取一些解决方法:The same origin policy applies to the domain of the site (ie. the URL you see in your browser's address bar). The JavaScript file can be hosted on any domain. The
<script>
tag is exempt from the same origin policy.If the address bar in the browser is showing
www.websiteB.com
, you will bump into the same origin policy if you make a request to a file onwww.websiteA.com
. This is irrelevant of where the .js file is hosted. If this is the case, you may want to check out the following Stack Overflow post for a few workarounds:你可以这样做 - 这就是大多数基于 javascript 的分析跟踪器的工作方式(Google Analytics 等)
You can do this - this is how most javascript based analytics trackers work (Google Analytics etc)
这取决于您使用的是相对路径还是完整路径。
It depends on if you're using a relative path or a full path.