使用jquery访问JSON对象

时间:2010-10-20 08:17:40

标签: php jquery json

我正在尝试访问一个jQuery JSON对象,我无法看到我的代码有什么问题,但是当我尝试访问该对象时,我得到的只是undefined,我想也许是因为它是嵌套的方式,但我不确定,这是我的代码,

 function systems(dom_id, id){
  $.getJSON("get_systems.php", {uid:id}, function(data){
  // here I get the general system info related to the user 
     $.each(data, function(i, json){
    //here I get each systems name, related to each system
    $.getJSON('get_system_name.php', {uid:json.product_id}, function(data){
     console.log(data.products);
     $(dom_id).append('<tr><th>'+data.products+'</th></tr>');
    });

   });

  });
 };

其中包含系统名称的列名称为products,因此我尝试使用data.products获取名称,但我得到的只是undefined。上方。

但是,当我只记录data时,它会显示对象,如下所示[Object { products="this is the product name"}],这是我用来获取系统名称的PHP,

get_system_name.php:

<?php
$uid = $_GET['uid'];

mysql_connect("localhost", "user", "1234") or die(mysql_error());
mysql_select_db("the_DB") or die(mysql_error());
$query = mysql_query("SELECT products FROM products WHERE product_id='$uid'") or die(mysql_error());

while($array = mysql_fetch_array($query, true)) {
 $string[] = $array;
}

$json = json_encode($string);
echo $json;
?>

提前Thanx!

1 个答案:

答案 0 :(得分:0)

通过这一行的外观: [Object { products="this is the product name"}]

数据实际上是一个JSON数组,而不是JSON。所以,如果你做了

data[0].products

,它应该工作。你可能想看看它为什么会以数组的形式返回,除非那是你想要的行为。