2016-12-06 62 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