XMLHttpRequest()在最新版本的Firefox中不起作用?

时间:2012-09-05 01:17:05

标签: firefox-addon browser-addons

在我的插件中,我总是使用新的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请求?

1 个答案:

答案 0 :(得分:1)

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

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

var xmlhttp = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"]
                        .createInstance(Components.interfaces.nsIXMLHttpRequest);
xmlhttp.open(...);