我正在尝试访问一个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!
答案 0 :(得分:0)
通过这一行的外观:
[Object { products="this is the product name"}]
数据实际上是一个JSON数组,而不是JSON。所以,如果你做了
data[0].products
,它应该工作。你可能想看看它为什么会以数组的形式返回,除非那是你想要的行为。