我做的:
<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>