|
|
1
3
XMLHttpRequest实际上遵守了同一域策略的更严格的实现:虽然可以设置document.domain属性以允许来自两个子域的JavaScript相互通信,但不能使用XMLHttpRequestObject实现。在您的情况下,要进入一个完全不同的领域,您也不能使用JavaScript。 有两种选择。首先,可以使用反向代理使外部站点看起来是站点的子域。看看Apache的mod_代理,特别是ProxyPassReverse 另一种选择是以JSON对象的形式返回数据:<脚本src=“foo”>可以从任意位置检索所需的任何数据。这样做的缺点是它不(容易)重复(就像来自同一页面的多个请求一样)。
编辑:与其直接使用XMLHttpRequest对象,我建议使用prototype.js之类的第三方库 |
|
|
2
1
因此,在使用Google API(如Maps one)的情况下,通常首先在页面上的某个位置添加对其通用API的引用:
现在,您可以调用该API提供的各种函数:
不需要XmlHttpRequest:) |
|
|
3
1
您可以使用JSONP来实现这一点。我做到了 here 使用jQuery和PHP。基本上,我使用PHP代理来包装JSON回复,以便jQuery能够处理它。它在BSD下。 |
|
|
4
0
或者尝试使用IE8。如果您是从磁盘运行而不是从网站运行,IE8将忽略所有正常的域限制并获取所需的数据。 |
|
|
5
0
使用jQuery(可能还有XHR,但我尽量不直接使用它),只要不指定异常的头或非GET方法,您就可以愉快地执行跨域请求。如果确实要使用这些选项,则必须控制服务器以启用选项请求。 看见 https://developer.mozilla.org/En/HTTP_access_control 详情请参阅。 |