2

我无法弄清楚我的代码有什么问题。我从帖子中获取数据作为数组,然后在框中显示该数据。

function worker() {
    var a = $("#BeeperBox");
    var delay =2000;

    $.ajax({
        url: '/index.php/admin/getLatest', 
        success: function(data) {
            $.each(data.upda,function(i, v){
                var out = v.name + v.mob ;
                $('span.blueName').html(out);
                $("#BeeperBox").show();
                timerId = setTimeout(function () {
                    a.hide();
                }, delay);
            });
        },
        complete: function() {
            // Schedule the next request when the current one's complete
            setTimeout(worker, 50000);
        }
    });
}

当我运行它时,firebug 显示错误:TypeError:e 未定义。

4

2 回答 2

4

因为您将响应发送为 JSON .. 最好将您的响应指定dataType为 JSON(尽管如此 If none is specified, jQuery will try to infer it based on the MIME type of the response),这样您就不必手动解析它了..我认为这里的问题是您没有解析作为响应得到的 json

尝试这个

  $.ajax({
    url: '/index.php/admin/getLatest', 
    dataType: 'json',
    success: function(data) {
      $.each(data.upda,function(i, v){
      var out = v.name + v.mob ;
       ......
   },
于 2013-04-15T05:38:26.790 回答
0

检查 data.upda 是否未定义,我认为问题在于该变量不存在并且您正在尝试迭代未定义的元素。

于 2014-04-29T03:00:03.153 回答