【发布时间】:2022-03-31 13:41:47
【问题描述】:
我有一个简单的脚本,其中每 2 秒发出一个 Ajax 请求。如果从名为“ext”的 php 页面获取的数据与上次获取的数据不同,代码会运行一个函数:为了做到这一点,我在 ajax 请求上使用了 ifModified:true 设置,但它不起作用。
这是我正在使用的代码
$(document).ready(function(){
setInterval(repeat,2000);
function repeat(){
$.ajax({
type: "GET",
url: "ext.php",
ifModified: true,
success:function(data) {
$('.photo').fadeOut(5000).delay(1000).css('background-image', 'url(' + data + ')' ).fadeIn(5000);
}
});
}
});
这是在“ext.php”中找到的代码:它的目的是将最后添加的 jpg 的路径简单地输出到目录中。
<?php
$array = glob("images/{*.jpg,*.JPG}", GLOB_BRACE);
$ultimo = end($array);
?>
<?php echo $ultimo; ?>
目前,该脚本将一个图像(其路径在 ext.php 中找到)设置为具有淡出和淡入的类“.photo”的 div 的背景。我的想法是,当路径与之前使用的路径相同时,图像不应重复淡出和淡入,而应保持静止,直到提供新路径。
我错过了什么?
【问题讨论】:
-
ext.php 可能没有在其标题中设置最后修改时间。 (该文件的源代码可能有助于调试。)
-
我在问题中添加了 php 代码