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(...);