0

このコードに問題があります:

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);

データがnullであっても、$("#chMsgCont)下にスクロールします。なぜですか?

4

2 に答える 2

1

この方法で試してください:

if(data)

またはこのように:

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

基本的に、if(data)これらの場合、データは偽であると見なされます。

  • データは""または''=>空の文字列

  • データが偽である

  • データがnull

  • データは未定義です

于 2012-08-09T21:51:52.477 に答える
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 != '')
于 2012-08-09T21:50:51.817 に答える