通过jquery访问对象

时间:2010-08-09 09:43:14

标签: jquery object

  var url_string = '/index.php/dvs/get_dvs/' + id + '/';
        $.ll = {};
        $.ll.dvs_data  = {};
        $.post(url_string,{},
        function (data)
        {
                $.each(data.dvs, function(k,v) {
                $.each(v, function(dvs_name, dvs_value) {

                    $.ll.dvs_data[dvs_name] = dvs_value;

                });
            });

        }, "json");

        var test = $.ll.dvs_data;
        console.log(test['username']);
        console.log(test.username);
        console.log(test);

以上是其他一些代码的一部分,数据是作为console.log(test)接收的,在firebug(firefox)中显示对象但是我无法访问test.username或test ['username]对象,他们只是以未定义的方式返回

1 个答案:

答案 0 :(得分:2)

这是AJAX的一个常见错误。 post调用是异步的,这意味着即使在收到服务器的响应之前,它也会继续运行代码。

任何依赖于服务器响应的代码都需要进入回调函数:

$.post(url_string,{},
    function (data)
    {
        $.each(data.dvs, function(k,v) {
            $.each(v, function(dvs_name, dvs_value) {

                $.ll.dvs_data[dvs_name] = dvs_value;

            });
        });

        // Move your code up here
        var test = $.ll.dvs_data;
        console.log(test['username']);
        console.log(test.username);
        console.log(test);

    }, "json");