var i返回undefined?

时间:2016-12-06 15:57:32

标签: javascript html json

我想检索我的数据库值并将它们插入表中。

我正在尝试将i迭代到数组上。

但是,它返回undefined并且没有输出。为什么会这样?

这可能是脚本或正文标记的问题吗?

脚本

function getitemdetails() {
  var xmlhttp = new XMLHttpRequest();
  var url = serverURL() + "/mycasefeed.php";
  url += "?Case_ID=" + decodeURIComponent(getUrlVars()["Case_ID"]);
  xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
      getitemResult(xmlhttp.responseText);
    };
  }
  xmlhttp.open("GET", url, true);
  xmlhttp.send();
}

function getitemResult(response) {
  var arr = JSON.parse(response);
  var i;


    for(i = 0; i < arr.length; i++) {

    $("#mycase").append("<tr><td>" + arr[i].CaseDes +
    arr[i].Case_Pic +
    "<br>" + arr[i].categoryname +
    "<br>" + arr[i].Caselat +
    "<br>" + arr[i].Caselong +
    "<br>" + arr[i].CaseTime +
    "<br>" + arr[i].details + "</td></tr>");
}
$("#mycaseresult").table("refresh");
}

getitemdetails();

<div id="SearchResult" class="ui-content">
  <table data-role="table" data-mode="reflow" class="ui-responsive" id="mycaseresult">
    <thead>
      <tr>
        *insert values here*
      </tr>
    </thead>
    <tbody id="mycase">

    </tbody>
  </table>
</div>

2 个答案:

答案 0 :(得分:1)

返回undefined的原因是因为变量没有内容。

答案 1 :(得分:1)

在javascript中,任何空变量(声明但未定义)都是undefined

var a;
var b = {};

function foo(parameter) {
    console.log(parameter);
}

console.log(a); // Outputs: `undefined`
console.log(b.cool); // Outputs: `undefined`
foo(); // Outputs: `undefined`

在您的代码上,看起来您正在尝试迭代数组,但您没有任何迭代循环。

尝试:

function getitemResult(response) {
  var arr = JSON.parse(response);
  for(var i=0; i < arr.length; i++) {
      $("#mycase").append("<tr><td>" + arr[i].CaseDes +
          arr[i].Case_Pic +
          "<br>" + arr[i].categoryname +
          "<br>" + arr[i].Caselat +
          "<br>" + arr[i].Caselong +
          "<br>" + arr[i].CaseTime +
          "<br>" + arr[i].details + "</td></tr>");
   }
}