在Firefox下开发AJax程序的时候,我经常遇到这样一个错误提示:
Error: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: http://127.0.0.1:8888/ARCserve/pages/login.faces :: callBack :: line 20" data: no]
Source File: http://127.0.0.1:8888/ARCserve/pages/login.faces
Line: 20
在源文件的20行是这样的代码:
if (request.status == 200) {}
起初不知道是什么原因,也在网上找了半天,没有什么好的答案。最后在一个blog里看见某某的评论说这是由于重复提交造成的,检查了一下我的代码,确实是这样 。在我的代码里,XMLHttpRequest的请求在是在某个button被点击是执行的。
<input type="submit" οnclick="sendAjax()" value="test">
这里已经造成了两次提交数据到server,一次是Ajax,一次是Form。把submit改为button,问题得以解决。所以不要在类型为submit的button里面提交Ajax请求。