我正在为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地址。
有什么想法吗?
答案 0 :(得分:2)
内容脚本代码无法执行跨域请求 - 请尝试使用“请求”模块:
https://addons.mozilla.org/en-US/developers/docs/sdk/1.1/packages/addon-kit/docs/request.html
您可以在附加组件的main.js脚本中实现请求,而不是在单独的脚本中编写代码并使用page-mod将其注入页面。