我想检索我的数据库值并将它们插入表中。
我正在尝试将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>
答案 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>");
}
}