【问题标题】:php multidimensional array into jQueryphp多维数组转换成jQuery
【发布时间】:2011-11-15 01:59:55
【问题描述】:

我有一个使用以下代码从表中填充的 php 多维数组:

<?php starts

$array = array();
$i = 0;

while($row = mysql_fetch_array($result))
{

$array[$i] = array("handle" => $row['handle'],"firstname" => $row['first_name'],"lastname" => $row['last_name']);
$i++;
}

echo json_encode(json_encode($array));

?> php ends

这是由 .post 从 jQuery 调用的,当我 alert() 返回的数据时,我得到以下输出:

[
{"handle":"admin","firstname":"admin","lastname":"admin"},
{"handle":"ms","firstname":"ms","lastname":"ms"},
{"handle":"op","firstname":"op","lastname":"op"},
{"handle":"ui","firstname":"ui","lastname":"ui"}
]

我用来提取php数组的jquery代码是:

$.post("test1.php","",
            function(data){

                var obj = $.parseJSON(data);
                alert(obj);
                var obj2 = $.parseJSON(obj);
                alert(obj2);
                alert(obj2[1]);
                var result = eval(data);
                alert(result[0][0]);


    },"html");

alert(obj) 给我指定的输出。 alert(obj2) 给我:

[object Object],[object Object],[object Object],[object Object]

alert(obj2[1]) 给我:

[object Object]

我如何获得这里面的数据???

【问题讨论】:

标签: php jquery arrays


【解决方案1】:

你的第一个

var obj = $.parseJSON(data);

应该是你所需要的。然后,您可以访问您的对象,例如:

obj[0]['handle']
// or
obj[0].handle

【讨论】:

    【解决方案2】:

    '[object Object]'ObjecttoString(),在使用 alert() 时会隐式调用(仅提醒字符串)。

    您需要使用点符号来访问它,或使用console.log() 来查看对象(前提是您的浏览器有一个称职的控制台)。

    【讨论】:

      【解决方案3】:

      要在 IE9 中查看任何对象的详细信息,请使用 -console.dir(obj)

      在 Firefox 中,您可以使用 -console.log(obj)

      请记住,详细信息将写入控制台(在 IE 的开发人员工具和 Firefox 的 Firebug 中显示)

      使用控制台语句,您可以查看对象结构,然后您可以使用“.”访问对象的任何属性。点运算符。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-26
        • 2012-05-21
        • 1970-01-01
        • 1970-01-01
        • 2020-05-12
        • 1970-01-01
        相关资源
        最近更新 更多