0

我编写这段代码是为了从数据库中获取新数据,但我不知道这段代码有什么问题以及为什么在浏览器控制台中出现以下错误。

jQuery代码:

$(document).ready(function() {
    setInterval(function() {
        var lastdate = $("#countcomment").attr("loadtime");
        $.post("update.php",{ajax:"1", lastdate:lastdate},function(data){
            if(data.getnew){
                $('#countcomment').html(data.getnew);
                $('#countcomment').attr('loadtime', ""+data.new)
            }
        }, "json");
    }, 1000);
}); 

PHP:

$database = $db->super_query("
    SELECT count(*) as count 
    FROM ".PREFIX."_comments 
    WHERE date >= '$real_date' 
");

$newcomments = $database['count'];

if($newcomments > "0"){
    echo "{\"getnew\":\"{$newcomments}\",\"new\":\"{$now_date}\"}";
}

HTML:

<span id="countcomment" loadtime="2013"></span>

错误:

Uncaught TypeError: Cannot read property 'getnew' of null 

我不知道是什么问题!

4

1 回答 1

1

可能您的服务器发送的数据比您预期的要多(例如错误)。使用以下js代码检查响应数据:

$(document).ready(function () {
  setInterval(function() {
  var lastdate = $("#countcomment").attr("loadtime");
  $.post("update.php",{ajax:"1", lastdate:lastdate},function(data, status, xhr){
     console.log(xhr.responseText)
     },"json");
  }, 1000);
});

或者您可以在 Chrome 的开发者工具中的“网络”选项卡中查看该数据

于 2013-08-01T15:53:59.463 回答