我这样做了:
<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>
仍然无法正常工作
答案 0 :(得分:2)
因为在比较之前你是空白的。从第一行删除此行
$('.storage').html("");
或者将字符串保存在一个变量中进行比较
var storage = $('.storage').text();
$('.storage').html("");
然后将data
与storage
<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>
答案 1 :(得分:1)
在您的代码中
$('.storage').html("");
此行使存储空白将其删除或将其放在功能
之后