我已经下载了Request和Request.HTML的示例,但无法使用。我将它们解压缩到一个文件夹并浏览到它们的index.html以按原样执行它们,但响应始终是“请求失败”。没有关于原因的线索。
我用不同的排列玩弄了他们,可以完成请求,但总是失败。有没有办法找到失败的理由?我尝试过关闭防火墙的三种不同的浏览器,使用相对和绝对文件引用,但没有任何作用。我错过了一些明显的东西吗?我发布了代码,但它的例子就是......
任何帮助都会很棒。
干杯,
贾斯汀。
答案 0 :(得分:1)
如果我没记错,大多数浏览器中的AJAX请求都无法通过本地文件系统完成 - 你需要像Apache这样的实际Web服务器。在Windows中,XAMPP将在几分钟内启动并运行Apache。
答案 1 :(得分:1)
大多数网络服务器都应该有效。只是您的文件系统不像Web服务器那样“响应”浏览器请求:
执行的ajax请求 本地(针对文件系统) 因为ajax逻辑而无法正常工作 正在寻找一个国家的变化和一个 服务器响应,两者都不是 由您的文件系统提供
- http://forum.mootools.net/viewtopic.php?id=5009
XMLHttpRequest对象可以处理的不仅仅是HTTP请求,但至少在mootools中,它并不意味着。并且“file:/// ...”不是HTTP请求。它只是从您的文件系统中获取一个文件并在浏览器中显示它。
所以好消息是:任何网络浏览器,包括在本地计算机上运行的简单浏览器,应该可以正常工作:)
答案 2 :(得分:0)
亮!!非常感谢!我把它上传到最近的网络服务器,确定它有效。
我确实尝试直接从我的文件系统中执行一些Ajax调用而没有任何javascript库 - 使用XMLHttpRequest() - 并且它工作正常,所以这似乎是一个奇怪的限制。我可以确定这将始终适用于任何网络服务器,无论多么基本?只是我正在研究的这个项目将使用多个托管环境,主要是客户环境的普通HTML类型网站,我无法控制......是否有最低规格?
干杯;)
答案 3 :(得分:0)
XMLHttpRequest()
成功导致拨打本地电话没有任何问题。它只是不同而问题出现在有缺陷的mootools isSuccess
函数中。
你必须覆盖它Request
选项。这是jquery如何做到的
// Determines if an XMLHttpRequest was successful or not
httpSuccess: function( xhr ) {
try {
// IE error sometimes returns 1223 when it should be 204 so treat it as success, see #1450
return !xhr.status && location.protocol === "file:" ||
// Opera returns 0 when status is 304
( xhr.status >= 200 && xhr.status < 300 ) ||
xhr.status === 304 || xhr.status === 1223 || xhr.status === 0;
} catch(e) {}
return false;
},