Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AJAX请求超时_Javascript_Jquery_Arrays_Ajax_Get - Fatal编程技术网

Javascript AJAX请求超时

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请求中为

我对php文件进行了ajax获取请求,该文件通过snmp获取温度数据并返回json数据数组

现在,对于每个位置,我尝试只生成一次div,然后只更新值

Treid在第一个ajax请求时要做的事情是生成包含数组中的值的div,然后显示它们,但它们不会显示在特定的div中

我可以在控制台中看到阵列已正确填充。但是我不能让它用id=data显示div中的所有元素。尝试了html()、append()、text(),但没有任何效果

我应该如何修改代码以使请求不会花费那么多时间

我想在第一个ajax请求中为每个位置创建一次容器,然后使用setInterval只获取值并更新它,所以我想请求不会花费那么多时间,我会避免页面闪烁,因为只有数字会改变,但我如何才能做到这一点

我不想重新加载页面

      $(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 + " &degC</span></div>" +
                          "<div><span>Względna wilgotność: </span><span>" + hum + " %RH</span></div>" +
                          "<div><span>Punkt rosy: </span><span>" + dew + " &degC</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循环之后将其附加到成功回调中。