我抓取一些数据库条目,创建一个2D数组,然后通过AJAX将它们传递给js。但是当我在javascript中循环数组时,这是一个“未定义”的混乱。控制台日志为dbArray工作正常,所以我知道PHP/AJAX正在工作。不知道我做错了与环...是php json_encode&AJAX打破我的数组?
PHP('负载words.php):
$query = mysql_query("
SELECT * FROM words
ORDER BY RAND()
LIMIT 50
") or die(mysql_error());
$dbArray = array();
while ($row = mysql_fetch_assoc($query)) {
$word_phrase = stripslashes($row['word_phrase']);
$description = stripslashes($row['description']);
// construct a 2D array containing each word and description
$dbArray[] = array($word_phrase,$description);
};
echo json_encode($dbArray);
的Javascript:
$.ajax({
url: 'func/load-words.php',
success: function(dbArray) {
console.log(dbArray);
var items = "
- ";
for (var i in dbArray) {
items += "
" + dbArray[i][0] + ' : ' + dbArray[i][1] + "";}
items += "
";div = $('#dbArray');
div.html(items);
}
});
2012-07-12
matski
+0
什么是输出 “的console.log(dbArray);”? –
2012-07-12 15:55:41
+1
对于数组,你应该使用'for(i = 0; i 2012-07-12 15:56:35
+0
OP称它为一个数组,但实际上它是一个对象,因为它以JSON的形式出现,所以前者是好的。 –
2012-07-12 15:57:16