我是初学者,我正在编写一个 js 函数,它每隔 1 秒调用一个 PHP 脚本,在其中检查 mysql DB 上的一些值,PHP 在 Json 中对它们进行编码,然后 JS 再次对其进行解码并将它们放入 html .
我有两个问题要问你:
-为什么您认为这段代码不能正常工作?它只将第一个值写入 <p>
列表。
-我怎样才能使它具有可扩展性?每次调用 php 脚本都会执行一个查询。我需要实时之类的东西,但我认为使用这种方式我很快就会毁掉我的服务器 xD
JS
setInterval(function(){
$.getJSON("php/checkstatus.php", function(result){
$("#status").html(result['status']);
$("#tempint").html(result['tempint']);
$("#tempext").html(result['tempext'] + " ");
$("#humidityext").html(result['humidityext'] + " ");
});
},1000);
json是这样的:
{"status":"0","tempext":"25","tempint":"150","humidityext":"65"}
HTML 是这样的:
<p>status: <span id='status'>xx</span> .</p>
<p>Inside temperature: <span id='tempint'>xx</span> °C</p>
<p>Outside temperature: <span id='tempext'>xx</span> °C</p>
<p>Outside humidity: <span id='humidityext'>xx</span> </p>
最佳答案
可能是,tempint
、tempext
和 humidityext
的 HTML 中有多个具有相同 id
的元素.
要调试,打开浏览器的控制台,然后查询所有四个元素,如
$("#status")
与其余三个类似,现在您将获得 HTML 标签作为结果,将鼠标悬停在该标签上并查看您想要的标签是否将数据放在高亮显示上。
如果您看到要突出显示的标记不是您想要的标记,则意味着您的元素具有重复的 ID
。你需要解决这个问题。
第二个问题可以给http://socketo.me/demo一试。
关于javascript - JS 脚本调用 PHP 脚本,但我无法处理 html 的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31744579/