ajax_info.txt
是我计算机上的有效文件。错误返回如下:
Uncaught Error: INVALID_STATE_ERR DOM Exception 11
答案 0 :(得分:1)
许多浏览器会拒绝通过XMLHttpRequest
加载本地文件作为安全措施。 AJAX请求受Same Origin Policy限制,但正如链接的维基百科页面所述,
同源检查和相关机制的行为在许多极端情况下没有明确定义,例如对于没有明确定义的主机名或与其URL关联的端口的协议(文件:,数据:等等。)。
加载本地文件(即使使用相对URL)与使用file:
协议加载文件相同。许多网络浏览器都有这个限制,原因很简单 - 想象一下在本地计算机上运行恶意HTML文件,它可以加载计算机上的任何文件并将其内容发布到远程服务器。
所以我的猜测是问题是你正在尝试加载本地文件。尝试在本地或远程Web服务器上提供脚本,看看是否能解决问题。 (如果您安装了Python,则可以转到相关目录并运行python -m SimpleHTTPServer 8000
,然后转到浏览器中的http://localhost:8000/。
答案 1 :(得分:0)
在你的脚本中,每次调用HTTPRequest()
都会创建一个新的请求对象,因此永远不会发送带有onReadystateChange
处理程序的请求,并且发送的请求没有处理函数。这是你的小提琴的更新版本应该有效:http://jsfiddle.net/HwYUS/