该错误似乎是Same Origin
Policy的一项安全功能:为简化起见,您只能在原始服务器(
http://foobar.com)上对内容进行AJAX请求。解决此问题的一种方法是在原始服务器上创建一个简单的外观,例如:
<?php // this file resides at http://foobar.com/getstuff.php echo file_get_contents('http://www.boobar.com/script.php?callback=?' . $possibly_some_other_GET_parameters ); ?>然后,从foobar.com,可以使一个AJAX请求
http://foobar.com/getstuff.php(这反过来又使一个HTTP
GET请求 从您的Web服务器 来
boobar.com并将其发送回浏览器)。
对于浏览器,请求将转到原始服务器,并且被允许(浏览器无法知道响应来自幕后其他地方)。
注意事项:
- foobar.com上的PHP配置必须
allow_url_fopen
设置为“ 1”。尽管这是默认设置,但某些服务器已将其禁用。 - 对www.boobar.com的请求是从foobar.com 服务器 发出的,而不是从浏览器发出的。这意味着,无论您输入请求URL(“
$possibly_some_other_GET_parameters
”)中的任何内容,都不会将cookie或用户身份验证数据发送到www.boobar.com 。



