我正在尝试执行ajax请求以获取在Windows Wamp Server上运行"http://localhost/"
的内容。
脚本正在运行如下:
file:///C:/my/path/index.html
我只是使用标准的$ .ajax请求来尝试获取localhost的内容:
$.ajax({
type: 'GET',
url: 'http://localhost/',
success: function(data) {
alert('success');
}, error: function (data) {
alert('failed');
}
});
我无法让它成功但是...似乎是本地文件系统的某些问题。我不太确定。
答案 0 :(得分:15)
解决了问题!
我只需将此标题添加到http://localhost/
的index.php文件中 header('Access-Control-Allow-Origin: *');
答案 1 :(得分:11)
您说该脚本是从file:///
网址运行的。最好不要从file
URL执行AJAX请求,因为它们的处理方式不一致。例如,Chrome完全不允许使用它们。
但是,这里更大的问题是同源策略:您只能将AJAX请求发送到与网页本身相同的主机。 file:///
和http://localhost
不相同的主机(即使它们是同一台计算机)。
最好将所有内容都关闭http://localhost
。
答案 2 :(得分:3)
这可能不起作用,因为浏览器会认为这是跨域请求。您已通过file:// URL访问该文件,但正尝试从http://localhost检索数据。尝试从http://localhost访问原始文件,它可能会开始工作。