使用ajax返回数组的json对象用法

时间:2012-03-26 13:02:07

标签: php javascript ajax json

我从ajax调用返回的数组有问题。

使用json加密数组。它如下所示

while ($found_course = mysql_fetch_assoc($sql)) {

    $info[] = array(
        'code' => $found_course['course_code'],
        'name' => $found_course['course_name']   );

}
echo json_encode($info); //this is returned to javascript

然后问题是我无法使用javascript中返回的上述数组。我尝试使用$ .each方法但无济于事。 eval()也不起作用,因为它将输出作为[object object]。有人可以帮我这个。

我想要的是能够单独访问代码和课程名称

感谢。

3 个答案:

答案 0 :(得分:3)

使用for()

循环播放
for (var c in myAjaxArray){
    myAjaxArray[c].code; // contains the code
    myAjaxArray[c].name // contains the name
}

确保将jQuery ajax调用中的dataType设置为“JSON”,以确保您拥有json对象。或使用$.getJSON()功能。

答案 1 :(得分:0)

<script>
var data = <?= json_encode($info); ?>;
for (var i = 0; i < data.length; i++) {
  var item = data[i];
  alert(item["code"] + " / " + item["name"]);
}
<script>

答案 2 :(得分:0)

这可以为您提供所需的数据。不确定你是如何尝试使用$ .each但它应该在你的ajax调用的成功函数中。还要确保数据类型设置为json。

success: function(data){
  $(data).each(function(idx,val){
     alert(val.code + " " + val.name);
  })
}