外部サーバーに 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 に置き換えてみました。