javascript - console.log() 仅当 AJAX 数据改变时

标签 javascript php jquery html 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("");

然后比较datastorage

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

关于javascript - console.log() 仅当 AJAX 数据改变时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46812040/

相关文章:

php - laravel 在 groupBy 之后使用 count/sum 方法

javascript - 使 svg 元素位于顶部

javascript - knockout.js 可以绑定(bind)到 CSS 类吗?

从备用域名访问时 JavaScript XMLHttpRequest 中断

javascript - 代码在循环模式下不起作用

javascript - Codeigniter 和 jquery 自动完成

php - 如何检测用户的浏览器和操作系统并使用它从 PHP 页面动态修改我的 MySQL 数据库查询

Javascript/jQuery : Select class name that contains word

javascript - 在后端加载内容时显示 Logo /广告

javascript - 此代码返回 301 永久移动,而同一脚本正常工作