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”) に置き換えようとしましたが、それでも同じくらい時間がかかります。また、localhost を自分の IP に置き換えてみました。

4

1 に答える 1