【发布时间】:2017-10-18 14:02:38
【问题描述】:
我做了这个:
<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>
还是不行
【问题讨论】:
-
尝试将
if($('.storage').html() !== data){更改为if($('.storage').text() !== data){ -
$('.storage').html()的值是多少?data的值是多少? 是他们曾经一样吗?请注意,您的代码似乎从未修改$('.storage').html()的值。 -
500不是 5 秒,而是半秒。最后加一个0。 -
@klenium 是的,我知道,我没有更改评论。如果新数据改变 storage 比 data 和 storage 是相同的字符串。
-
为什么要添加另一个元素?为什么不使用变量或使用
.result元素?
标签: javascript php jquery html ajax