Javascript AJAX请求超时
我对php文件进行了ajax获取请求,该文件通过snmp获取温度数据并返回json数据数组 现在,对于每个位置,我尝试只生成一次div,然后只更新值 Treid在第一个ajax请求时要做的事情是生成包含数组中的值的div,然后显示它们,但它们不会显示在特定的div中 我可以在控制台中看到阵列已正确填充。但是我不能让它用id=data显示div中的所有元素。尝试了html()、append()、text(),但没有任何效果 我应该如何修改代码以使请求不会花费那么多时间 我想在第一个ajax请求中为每个位置创建一次容器,然后使用setInterval只获取值并更新它,所以我想请求不会花费那么多时间,我会避免页面闪烁,因为只有数字会改变,但我如何才能做到这一点 我不想重新加载页面Javascript AJAX请求超时,javascript,jquery,arrays,ajax,get,Javascript,Jquery,Arrays,Ajax,Get,我对php文件进行了ajax获取请求,该文件通过snmp获取温度数据并返回json数据数组 现在,对于每个位置,我尝试只生成一次div,然后只更新值 Treid在第一个ajax请求时要做的事情是生成包含数组中的值的div,然后显示它们,但它们不会显示在特定的div中 我可以在控制台中看到阵列已正确填充。但是我不能让它用id=data显示div中的所有元素。尝试了html()、append()、text(),但没有任何效果 我应该如何修改代码以使请求不会花费那么多时间 我想在第一个ajax请求中为
$(document).ready(function(){
var tr_str = [];
var menu_list = [];
$.ajax({
url: 'getData.php',
type: 'get',
dataType: 'JSON',
success: function(response){
var len = response.length;
for(var i=0; i<len; i++){
var location = response[i].location;
var temp_int = response[i].temp_int;
var temp = response[i].temp;
var hum = response[i].hum;
var dew = response[i].dew;
tr_str[i] = "<div id='locc" + i + "' class='location'>" +
"<span class='title'>" + location + "</span>" +
"<div class='temp'" + i + "><span>Temperatura: </span><span id='check'>" + temp + " °C</span></div>" +
"<div><span>Względna wilgotność: </span><span>" + hum + " %RH</span></div>" +
"<div><span>Punkt rosy: </span><span>" + dew + " °C</span></div>" +
"</div>";
menu_list[i] = "<label for='loc" + i + "'>" +
"<input type='checkbox' id='loc" + i + "' />" +
"<span class='css-checkbox'></span>" +
"<p>" + location + "</p>" +
"</label>";
}
},
});
console.log(tr_str);
console.log(menu_list);
$("#data").html(tr_str[0]);
<!-- language: lang-html -->
<body>
<div id="data" class="wrapper"></div>
</body>
$(文档).ready(函数(){
var tr_str=[];
变量菜单列表=[];
$.ajax({
url:'getData.php',
键入:“get”,
数据类型:“JSON”,
成功:功能(响应){
var len=响应长度;
对于(var i=0;iYou仅将tr#str[0]
的html添加到#data
。这是有意的吗?在添加时,内容甚至还没有出现。只需移动$(“#数据”).html(tr#str[0])
直接在成功
回调中的for循环完成之后。Ajax是异步的。您必须插入新的html(或修改现有元素)从成功的内部callback@Lain是的,这是为了共同检查我是否返回了一些东西,但我没有得到结果。php文件通过snmp从15个传感器获取温度数据,因此如何生成单独的div(列)对于使用ajax请求的每个传感器数据,不获取页面闪烁,请求速度超过10到15秒?因为我最终将有50个传感器。我需要在屏幕上显示,每10秒刷新一次,并检查温度是否太高,因为当温度超过25摄氏度时,我希望它发出警告。只需执行@Lain编写的操作,并在for循环之后将其附加到成功回调中。