我正在尝试实现Simple Push API,我正在尝试进行跨源XMLHttpRequest。我正在做一个测试:
function sendEndPoint() {
var MAXIMUM_WAITING_TIME = 6000;
if (!window.XMLHttpRequest) {
addDebugMessage("XMLHttpRequest not supported.");
} else {
addDebugMessage("XMLHttpRequest supported!");
var xhReq = new XMLHttpRequest({
mozAnon: true,
mozSystem: true
});
xhReq.open("get", "http://192.168.1.69/ping/index.php", true); // Server stuck in a loop.
//Request timeout.
var requestTimer = setTimeout(function () {
xhReq.abort();
addDebugMessage("Error timeout: time was " + MAXIMUM_WAITING_TIME);
}, MAXIMUM_WAITING_TIME);
//It's ready.
xhReq.onreadystatechange = function () {
if (xhReq.readyState != 4) {
return;
}
clearTimeout(requestTimer);
if (xhReq.status != 200) {
addDebugMessage("Error in request.");
return;
}
var serverResponse = xhReq.responseText;
};
}
}
http:// 192。 168. 1. 69 / ping / index.php它只是一个hello world消息,我可以使用我的Firefox OS设备的Web浏览器访问它。
我总是遇到超时错误,我等多久没关系,为什么?
感谢。
答案 0 :(得分:0)
我缺少xhr.send()而忘记设置systemXHR权限:
"permissions": {
"push": {
"description": "Required for being updated."
},
"systemXHR" : {}
}
答案 1 :(得分:0)
Jut提出自我答案,有关XHR请求和方法的更多信息,请访问Mozilla Developer Network- XHR