-1

在我的插件中,我总是使用 new XMLHttpRequest () 并且它运行良好。现在所有请求 ajax 停止工作。

目前新的 XMLHttpRequest() 导致以下错误:ReferenceError: XMLHttpRequest is not defined

所以我将代码更改为:

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 请求?

4

1 回答 1

1

正如我在评论中所说,当您在浏览器窗口的上下文中运行时(例如由覆盖加载到该窗口的代码),那么XMLHttpRequest绝对应该可用。我验证了以防万一,它对我有用。

但万一其他一切都失败了,您仍然可以直接实例化与 XMLHttpRequest 对应的 XPCOM 组件:

var xmlhttp = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"]
                        .createInstance(Components.interfaces.nsIXMLHttpRequest);
xmlhttp.open(...);
于 2012-09-07T07:32:03.047 回答