2016-12-06 59 views
-4

我想检索我的数据库值并将它们插入到表中。我试图迭代i到数组上。var 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> 
+3

这里是你的代码'变种I;警报(ⅰ);'。你为什么期望'我'有价值? –

+1

你没有实例化我,你只是初始化它,然后什么都不做? –

+1

'var i; alert(i);' - 你刚刚声明'i',它没有任何价值,所以你看到'undefined' –

回答

1

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

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

我试图插入你的代码,但我仍然没有得到输出 – Zesty