澄清跨域AJAX?

时间:2012-01-04 00:19:35

标签: javascript ajax cross-domain

我想澄清一下跨域AJAX在其背后的机制方面意味着什么。

比如说,我有一个网站http://www.example.com。该网站包含一个javascript文件,该文件包含几个基于jQuery的标准AJAX调用(例如$.post()$.get()等),位于http://www.example.com/js/script.js

现在,我有另一个网站http://www.helloworld.com,其中包含以下内容;

<script type="text/javascript" src="http://www.example.com/js/script.js"></script>

http://www.example.com/js/script.js内向http://www.example.com提出请求的AJAX请求是否会被视为“跨域”,因此当文件包含在http://www.internet.com时会出现兼容性问题?

任何答案都会很棒!

2 个答案:

答案 0 :(得分:3)

JS在客户端执行,因此文件源所在的位置无关紧要,它将从地址栏中的域执行。

答案 1 :(得分:1)

为了能够包含来自另一个域的javascript,为JS提供服务的服务器需要为文件提供正确的头文件。 特别是头文件需要为需要跨域JS的域设置Access-Control-Allow-Origin。

仅出于测试目的,您可能希望使用参数--allow-file-access-from-files运行Chrome,并且不会停止跨源请求。