来自本地文件系统的jQuery Ajax请求(Windows文件://)
我正在尝试执行ajax请求以获取来自本地文件系统的jQuery Ajax请求(Windows文件://),jquery,localhost,wamp,wampserver,Jquery,Localhost,Wamp,Wampserver,我正在尝试执行ajax请求以获取的内容。”http://localhost/“在Windows Wamp服务器上运行 脚本是从以下内容运行的: file:///C:/my/path/index.html 我只是使用一个标准的$.ajax请求来尝试获取localhost的内容: $.ajax({ type: 'GET', url: 'http://localhost/', success: function(data) {
的内容。”http://localhost/“
在Windows Wamp服务器上运行
脚本是从以下内容运行的:
file:///C:/my/path/index.html
我只是使用一个标准的$.ajax请求来尝试获取localhost的内容:
$.ajax({
type: 'GET',
url: 'http://localhost/',
success: function(data) {
alert('success');
}, error: function (data) {
alert('failed');
}
});
但是我不能让它成功。。。似乎是本地文件系统出了问题。我不太确定。这可能行不通,因为浏览器会认为这是一个跨域请求。您已通过file://URL访问该文件,但正在尝试从中检索数据。尝试从访问原始文件,它可能会开始工作。您说脚本是从
文件运行的://
URL。最好不要从文件URL执行AJAX请求,因为它们的处理方式不一致。例如,Chrome完全不允许这样做
然而,这里更大的问题是同源策略:您只能向与网页本身相同的主机发出AJAX请求<代码>文件://
和http://localhost
不是同一台主机(即使它们是同一台机器)
最好运行所有的http://localhost
问题已解决
我只需要将这个头添加到我的index.php文件中
header('Access-Control-Allow-Origin:')代码>
谢谢你们的帮助,伙计们 请尝试/
获取url,然后尝试/index.html
您可以直接访问url吗?你在js控制台中有错误吗?@adam-是的,直接访问url是可以的。我得到了这个错误Uncaught TypeError:object#的属性'responseText'不是函数
我在尝试http://XMLHttpRequest无法加载时也得到了这个错误http://localhost/. Access Control Allow Origin不允许Origin null。
@Emmanuel第二个错误是当您尝试从文件发出AJAX请求时,Chrome给出的错误://
URL。@lonesomeday-是的,通过谷歌搜索,我发现答案是设置Access Control Allow Origin头。请看下面我的帖子…是的,从中访问是可以的。但基本上,我试图对文件:///脚本所做的是通过发送ajax请求并检查结果来检测wampserver是否正在运行。@Emmanuel-上面的代码显示了您使用的url,但这里您说您使用的是文件路径。是哪一个?@adam-ajax请求正在从运行file:///etc... 并尝试获取urlhttp://:localhost/
的内容。无论如何,请看下面我的答案……不幸的是,我认为你是对的:(.可能对安全性很好,但在我的情况下很糟糕。嗨,Emmanual,我和你的情况一样。但是我没有任何服务器代码,我使用了数据库代理服务器dbmojo[link](code.google.com/p/dbmojo/)。我的脚本位于本地文件://目录中。现在我如何放置标题('Access-Control-Allow-Origin:');?或者是否有其他解决方案?@iEamin我不确定您的具体情况……也许可以通过apache(.htaccess)添加标题“Access-Control-Allow-Origin”或者其他服务器配置文件?我不确定。我不知道还有其他方法可以处理这样的跨服务器/协议请求。