我正在尝试用它自己的网络服务器构建一个气象站。到目前为止,该页面的代码是像这样:第二个Ajax请求无法在移动浏览器上工作
<!DOCTYPE html>
<html>
<head>
<title>WS-100 Server</title>
<script>
function UpdatePage()
{
var request = new XMLHttpRequest();
request.onreadystatechange = function()
{
if(this.readyState == 4) {
if(this.status == 200) {
if(this.responseText != null) {
document.getElementById("currentTemp").innerHTML = this.responseText;
}
}
}
}
request.open("GET","ajax_update_temp",true);
request.send(null);
request= new XMLHttpRequest();
request.onreadystatechange = function()
{
if(this.readyState == 4) {
if(this.status == 200) {
if(this.responseText != null) {
document.getElementById("currentDatetime").innerHTML = this.responseText;
}
}
}
}
request.open("GET","ajax_update_time",true);
request.send(null);
setTimeout("UpdatePage()", 10000);
}
</script>
</head>
<body onload="UpdatePage()">
<h1>WS-100 Weather Station</h1>
<div id="currentDatetime">
<p> </p>
</div>
<div id="currentTemp">
<p> </p>
</div>
</body>
</html>
它适用于桌面浏览器不错,但在移动浏览器仅日期时间显示,并在我的旧三星Galaxy,没有表现出来的。我曾考虑将两个查询合并为一个,但最终我至少要做两个请求:一个用于当前时间和温度,另一个用于下载和处理历史测量的txt文件。
这仅仅是浏览器的限制,还是应该有一种方法来解决它?
只是一个测试,你为什么不打电话请求2到第二变种? 也许你正在覆盖request.onreadystatechange并根据设备的速度获得预期的答案。 或者你只是摧毁请求对象 – Olvathar 2015-02-06 07:47:16
试过它没有用 – user3651203 2015-02-06 07:50:48