0

我正在尝试实现 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 设备的网络浏览器访问它。

我总是遇到超时错误,我等了多少都没关系,为什么?

谢谢。

4

2 回答 2

0

为了增加您的自我回答,有关 XHR 请求和方法的更多信息可以在Mozilla 开发者网络-XHR中找到

于 2014-02-09T19:49:00.663 回答
0

我错过了 xhr.send() 并且忘记设置 systemXHR 权限:

"permissions": {
    "push": {
        "description": "Required for being updated."
    },
    "systemXHR" : {}
}
于 2014-02-02T18:37:39.127 回答