我正在尝试设置php文件以从jQuery AJAX调用返回MySQL数据库查询的结果。返回的结果将是一个数组。我有一个非常基本的开始,我只是在php文件中来回获取一些基本数据,但我遇到了一些基本的语法问题:
PHP代码:
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo json_encode($arr);
jQuery代码:
$.post("dbFile.php", str, function(theResponse){
alert('the response: ' + theResponse);
var obj = $.parseJSON(theResponse);
alert(obj.a);
我可以打印出obj.a,obj.b,obj.c ......没问题。问题是当我增加MySQL结果时,我将递增一个计数器。因此,数组不使用字母,它使用数字:
$arr[$i] = mysqlresults ... $i++;
所以,在JavaScript / jQuery中我有一个对象(不是数组)。我可以打印出obj.a例如,但我不能打印出obj.2(例如)。换句话说,如果我用php数组中的数字替换字母,我不知道如何在JavaScript / jQuery中打印它们。我可以以某种方式更改parseJSON返回到数组的对象(以便我可以循环它)吗?
答案 0 :(得分:5)
使用数组访问语法:
alert(obj[42]);
答案 1 :(得分:2)