3

我有一个向外部服务器发出 XHR 请求的 QML 页面(Qt Quick 2)。现在服务器正在我的本地机器上运行,第一次发出这个请求大约需要 1.5 秒。每个后续请求都在 100 毫秒以下。

当我使用浏览器发出同样的请求时,每次都会在 10 毫秒内得到响应,所以我知道问题不存在。

这是有问题的代码。有任何想法吗?

function login(key) {
    var xhr = new XMLHttpRequest();
    var params = "Fob_num=" + key;
    xhr.open("POST","http://localhost:9000/customer_login",true);

    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.setRequestHeader("Content-length", params.length);
    xhr.setRequestHeader("Connection", "close");

    xhr.onreadystatechange = function() {
        if ( xhr.readyState == xhr.DONE) {
            if ( xhr.status == 200) {
                handleResponse(xhr.responseText);
            } else {
                console.log("error with login--status:  " + xhr.status)
                displayErr("Oops, something's wrong. Please try again.")
            }
        }
    }
    xhr.send(params);
}

问题不在于 handleResponse() 函数,我已经尝试用 console.log(“response”) 替换它,但它仍然需要同样长的时间。我还尝试用我的 ip 替换 localhost。

4

1 回答 1

1

您可能希望XMLHttpRequest在使用Loader. 只是一个想法。也许创建第一个XMLHttpRequest实例需要很长时间?

于 2013-09-03T20:50:07.797 回答