1

我有一个如下所示的ejs文件

<!DOCTYPE html>
<html> 
<head> 
 <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
 <title>Google Maps Sensor  Markers</title> 
  <script src="http://maps.google.com/maps/api/js?sensor=false" 
      type="text/javascript"></script>
</head> 
<body>
<div id="map" style="width: 500px; height: 400px;"></div>
      <p id="demo"></p>
    <p id="pil"></p>
    <p id="rowc"></p>
 <script>
      function addZero(i) 
      { if (i < 10)
          { i = "0" + i;
            }
          return i;
      }
  var d = new Date(1382086394000);
  //var x = document.getElementById("demo");
  var h = addZero(d.getHours());
  var m = addZero(d.getMinutes());
  var s = addZero(d.getSeconds());
  document.getElementById("demo").innerHTML= h + ":" + m + ":" + s;       
  var myVar = <%- JSON.stringify(jsresult) %>; 
  var count= <%- rowcount %>       

document.getElementById("pil").innerHTML=  myVar.rows[0].sensor;
document.getElementById("rowc").innerHTML=  count;
 </script>
</body>
</html>

这给了我如下输出:

01:53:14

6

7

我试图通过执行迭代而不是使用访问从 myVar 获取传感器的值

   myVar.row[0].sensor , myVar.rows[1].sensor and so on...

所以我在上面的代码之间添加了这样的东西

 .
 .
 .

 var myVar = <%- JSON.stringify(jsresult) %>; 
  var count= <%- rowcount %>

  var arlene1= [];   
   for (var j=0; j<=count;j++)
   { arlene1[j] = myVar.rows[j].sensor ; 
   }  

 document.getElementById("pil").innerHTML=  myVar.rows[0].sensor;
document.getElementById("rowc").innerHTML=  count;

.
.
.

它现在只是抛出一个没有输出的空白页。

有人可以解释这里出了什么问题吗?

我基本上是在尝试将所有 7 个传感器的值放入一个数组中,然后将它们呈现在 UI 上

调试器控制台显示如下错误:在此处输入图像描述

4

1 回答 1

0

在最后一段代码中,您已分配rowcountcount变量,但在 for 循环中您尝试访问rowcount. rowcount在客户端上评估 JavaScript 代码时未定义。尝试将其更改为:

var myVar = <%- JSON.stringify(jsresult) %>; 
var count= <%- rowcount %>; // 7

var arlene1= [];

// Iterate from 0 to 6
for (var j = 0; j < count; j++)
{
    arlene1[j] = myVar.rows[j].sensor; 
}  

document.getElementById("pil").innerHTML=  myVar.rows[0].sensor;
document.getElementById("rowc").innerHTML=  count;
于 2014-11-29T08:20:03.907 回答