javascript – console.log()仅在AJAX数据发生更改时

我做的:

<script type="text/javascript">
    $('.storage').html("");
    setInterval(function(){
        $.get('./playcommand.PHP', function(data) {
            if($('.storage').html() !==  data){
              $('.result').html(data);
              console.log("neu");
            }
        });
    }, 500); // 5 seconds
</script>

我的意图是console.log(“neu”);只有当来自AJAX的数据与之前的数据不同时,这就是为什么我创建了一个div“存储”,其中我保存了与之前数据不同的最新数据.

但它不起作用,它总是记录“neu”,即使数据不同.

更新:

我的新代码

 <script type="text/javascript">
    var storage = $('.storage').text();
    setInterval(function(){
        $.get('./playcommand.PHP', function(data) {
            if($('.storage').text != data){
              $('.result').html(data);
              console.log("neu");
            }
        });
    }, 500); // 5 seconds
</script>

还是不行

解决方法:

因为在比较之前你是空白的.从第一行删除此行,

 $('.storage').html("");

或者将字符串保存在一个变量中进行比较

 var storage = $('.storage').text();
 $('.storage').html("");

然后将数据与存储进行比较

<script type="text/javascript">
     var storage = $('.storage').text().trim();;
     $('.storage').html("");
     setInterval(function(){
        $.get('./playcommand.PHP', function(data) {
            if(storage != data.trim()){
              $('.result').html(data);
                console.log("neu");
            }
        });
    }, 500);
</script>

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...