jQuery和Ajax请求数据问题

时间:2012-08-09 21:48:38

标签: javascript jquery ajax

我对此代码有疑问:

setInterval(function() {
        var timed = $("#chMsgCont").find(".chatMsg:last-child");
        var timee = timed.attr("data");
        $.ajax({
            url: "./ajax/checknew.php",
            data: {timestamp: timee},
            success: function(data) {
                $("#chMsgCont").append(data);
                if(data != null) {
                var div = $('#chMsgCont');
                var o = div.offset().top; 
                div.scrollTop( o + 12302012 );
                }
            }
        });
    },1000);

即使数据为空,$("#chMsgCont)向下滚动,为什么?

2 个答案:

答案 0 :(得分:1)

以这种方式尝试:

if(data)

或者这样:

if(data != null && data != "")

基本上,在这些情况下,if(data)被视为数据错误:

  • 数据是“”或“=”>空字符串

  • 数据为假

  • 数据为空

  • 数据未定义

答案 1 :(得分:0)

data只是空的而不是null(未定义)所以它会通过,尝试在PHP文件中返回额外的内容。

我更喜欢在PHP方面做以下事情:

/* suppose that i am evaluating an insert to my DB */
print(1); //if success

print(0); //if error

然后在javascript方面,执行此操作:

if(data == 1) //means success

如果您没有在PHP方面评估某些内容,请执行以下操作:

if(data != null && data != '')