在我的插件中,我总是使用新的XMLHttpRequest(),它运行得很好。现在,ajax的所有请求都停止了工作。
当前新的XMLHttpRequest()导致以下错误:ReferenceError:XMLHttpRequest未定义
所以我把代码改成:
try {
var XMLHttpRequest;
if (typeof(XMLHttpRequest) == "undefined")
XMLHttpRequest = content.XMLHttpRequest;
}
catch (e) {
alert(e);
}
var xmlhttp = new XMLHttpRequest();
...
有时请求通常有效,但有时无效。
代码"alert(e);"从未执行过,因此没有错误。
我不明白为什么它有时有效,有时无效。以前我只使用var xmlhttp=new XMLHttpRequest()并且一直有效。
现在我该如何创建一个新的ajax请求?
正如我在一条评论中所说,当你在浏览器窗口的上下文中运行时(就像覆盖到该窗口的代码一样),XMLHttpRequest
肯定是可用的。我验证了以防万一,它对我有效。
但是,如果其他一切都失败了,您仍然可以直接实例化与XMLHttpRequest对应的XPCOM组件:
var xmlhttp = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"]
.createInstance(Components.interfaces.nsIXMLHttpRequest);
xmlhttp.open(...);