1

У меня проблема при написании надстройки Firefox WebExtension. Следующий код не возвращает никаких данных (responseText пуст), даже если статус запроса равен 4. В Chrome все работает отлично.XMLHttpRequest responseText всегда пуст в Firefox WebExtension

Я проверил даже на Fiddler, и я вижу, что запрос обрабатывается (и мы получили ответ), но похоже, что Firefox не может его прочитать?

var xhr = new XMLHttpRequest(); 
xhr.open('GET', "http://pi.com//", true); 
xhr.withCredentials = true; 
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); 
xhr.send(null); 
xhr.onreadystatechange = processRequest; 

function processRequest(e) { 
    if (xhr.readyState == 4) { 
     console.log(xhr.responseText); 
    } 
}; 

Я действительно понятия не имею, почему Firefox не получает responseText заполнены. Я уже проверял его на разных сайтах, но везде это одно и то же.

+1

является то, что страница, которую вы на самом деле с просьбой? [Как настроено ваше расширение] (https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/permissions)? – epascarello

+3

Каковы разрешения вашего продления? – Xan

+0

Пожалуйста, отредактируйте вопрос по теме: включите ** полный ** [mcve], который дублирует проблему. Обычно, включая * manifest.json *, некоторые из фоновых * и * скриптов содержимого. Вопросы, требующие помощи по отладке («** почему этот код не работает? **)) должны включать: ► желаемое поведение, ► конкретную проблему или ошибку * и * самый короткий код, необходимый для его воспроизведения ** в вопросе сам**. Вопросы без четкого описания проблемы не полезны другим читателям. Смотрите: «** Как создать [mcve] **», [о каких темах я могу спросить здесь?] (Http://stackoverflow.com/help/on-topic) и [ask]. – Makyen

ответ

0

В вашем manifest.json попробуйте добавить ключ "permissions": ["http://pi.com/"]

0

Я имел дело с точно такой же проблемой, при переносе моего расширения с Chrome на Firefox, это сводило меня с ума!

В моем случае это было так же просто, как почтовый URL. Вместо http://example.com/ я должен был государственной HTTP: // WWW .example.com/