在AJAX调用之后访问对象的属性

时间:2012-10-01 09:30:24

标签: javascript ajax

我做了一个ajax调用,我以这种形式从控制器中获取数据。

Array
(
[0] => stdClass Object
    (
        [cat_id] => 2
        [title] => Clothes
        [description] => Clothing for men and women
        [active_coupon_counter] => 0
        [store_id] => 1
    )

[1] => stdClass Object
    (
        [cat_id] => 17
        [title] => Designer
        [description] => ;description
        [active_coupon_counter] => 0
        [store_id] => 1
    )

[2] => stdClass Object
    (
        [cat_id] => 24
        [title] => Fashion
        [description] => ;description
        [active_coupon_counter] => 0
        [store_id] => 1
    )

)
Array

这可能看起来很愚蠢,但我无法弄清楚我是如何访问每个数组中的cat_idtitle属性的!

任何帮助,伙计们?

感谢。

4 个答案:

答案 0 :(得分:0)

您可以使用对象表示法来访问它们:

array[0].cat_id
// returns 2

更新

您服务器返回的格式必须为JSON,它应如下所示:

[
    {
        "cat_id": 2,
        "title": "Clothes",
        "description": "Clothing for men and women",
        "active_coupon_counter": 0,
        "store_id": 1
    },
    {
        "cat_id": 17,
        "title": "Designer",
        "description": ";description",
        "active_coupon_counter": 0,
        "store_id": 1
    },
    {
        "cat_id": 24,
        "title": "Fashion",
        "description": ";description",
        "active_coupon_counter": 0,
        "store_id": 1
    }
]

答案 1 :(得分:0)

您似乎正在获取数据的PHP var_dump或print_r。这不是一个方便解析的东西。

我不知道该格式的任何JavaScript解析器,因此您可能必须从头开始编写。问题Tutorials for writing a parser with Javascript应该为您提供有关该主题的指导。

最好编辑服务器端脚本,以更合理的格式返回数据,例如JSON或XML。

答案 2 :(得分:-1)

您似乎正在使用JSON发送和接收数据。

所以你可以访问数组对象并使用:

yourArrayObject[indexYouWantToAccess].cat_id

答案 3 :(得分:-1)

您是否使用mysql_fetch_object从数据库中获取数据?尝试使用mysql_fetch_assocmysql_fetch_array

此外,响应似乎不是有效的json响应,因为json_encodemysql_fetch_objectmysql_fetch_assoc/array上都能正常工作。