Расширение FF - получение xmlhttp.status == 0 - PullRequest
3 голосов
/ 20 августа 2011

Я пишу расширение для Firefox, и оно использует модуль page-mod для запуска файла JavaScript, содержащего:

function handleServerResponse() {

   if (xmlHttp.readyState == 4) {
     if(xmlHttp.status == 200) {
        //some code
     }
     else {
        alert("Error during AJAX call. Please try again");
     }
   }
}

var xmlHttp = new XMLHttpRequest();
var txtname = document.getElementById("txtname");
xmlHttp.open("POST","http://localhost:8080/Jelly/GetStuff",true);
xmlHttp.onreadystatechange  = handleServerResponse;
xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlHttp.send("url=" + document.URL);

Я продолжаю получать xmlhttp.status==0, а не 200, дажеесли вместо localhost я использую IP-адрес.Есть идеи?

1 Ответ

2 голосов
/ 15 сентября 2011

Код сценария содержимого не может выполнять междоменные запросы - попробуйте вместо этого использовать модуль «Запрос»:

https://addons.mozilla.org/en-US/developers/docs/sdk/1.1/packages/addon-kit/docs/request.html

Вместо того, чтобы писать код в отдельном сценарии и вставлять его встраницу, используя мод-страницу, вы можете реализовать запрос в скрипте main.js в вашем дополнении.

...