我根据文档example编写了这个简单的javascript函数:
function request(url, callback) {
var xhr = new XMLHttpRequest();
xhr.ontimeout = function () {
console.error("The request for " + url + " timed out."); // doesn't fire
};
xhr.onload = function() {
console.log("loaded!"); // doesn't fire
}
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) callback(xhr.responseText);
};
xhr.open("GET", url, true);
xhr.timeout = 200;
xhr.send(null);
}
用法:
request('http://192.168.1.105/test', function (data)
{
console.log(data);
});
此代码实际上在Qt4.8.5或Qt5.9.1中都运行到QML文件中。 两件奇怪的事情:
onreadystatechange
会点火,但onload
不会ontimeout
事件永远不会触发我的代码中有什么问题吗?