本地文件系统的jQuery Ajax请求(Windows文件:///)
我试图做一个Ajax请求来获取在Windows Wamp服务器上运行的"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'); } });
我不能让它成功,虽然…似乎是本地文件系统或一些问题。 我不太确定。
问题解决了!
我只需要将这个头添加到我的index.php文件的http:// localhost /
header('Access-Control-Allow-Origin: *');
感谢您的帮助无论如何家伙!
你说这个脚本是从一个file:///
URL中运行的。 最好不要从file
URL中做AJAX请求,因为它们被不一致地处理。 例如,Chrome完全禁止它们。
但是,这里更大的问题是同源策略:您只能将AJAX请求发送到与网页本身相同的主机。 file:///
和http://localhost
不是同一台主机(即使它们是同一台机器)。
最好是从http://localhost
运行所有的东西。
这可能不会工作,因为浏览器会认为这是一个跨域请求。 您通过file:// URL访问了该文件,但正在试图从http:// localhost检索数据。 尝试从http:// localhost访问您的原始文件,它可能会开始工作。