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(ただし If none is specified, jQuery will try to infer it based on the MIME type of the response) JSON として指定する方がよい..ここでの問題は、応答として取得した 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 に答える