XMLHttpRequest() не работает в последних версиях Firefox?

В своих аддонах я всегда использовал новый 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 ответ

Как я сказал в комментарии, когда вы работаете в контексте окна браузера (например, кода, загруженного наложением на это окно), тогда XMLHttpRequest обязательно должен быть доступен. Я проверил это на всякий случай, и это работает для меня.

Но в случае неудачи все остальное вы можете создать экземпляр XPCOM-компонента, соответствующего XMLHttpRequest напрямую:

var xmlhttp = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"]
                        .createInstance(Components.interfaces.nsIXMLHttpRequest);
xmlhttp.open(...);
Другие вопросы по тегам