【问题标题】:var i returns undefined?var i 返回未定义?
【发布时间】:2016-12-06 15:57:31
【问题描述】:

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

我正在尝试将 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>

【问题讨论】:

标签: javascript html json


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    在 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>");
       }
    }
    

    【讨论】:

    • 我试图插入你的代码,但我仍然没有得到输出
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-17
    • 1970-01-01
    • 2015-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多