var i返回undefined?
问题描述:
我想检索我的数据库值并将它们插入到表中。我试图迭代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>
答
它返回undefined的原因是因为该变量没有内容。
答
在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
这里是你的代码'变种I;警报(ⅰ);'。你为什么期望'我'有价值? –
你没有实例化我,你只是初始化它,然后什么都不做? –
'var i; alert(i);' - 你刚刚声明'i',它没有任何价值,所以你看到'undefined' –