出于某种原因,我的网站仍然显示已从指定文件夹中删除的图像,我不知道为什么会发生这种情况以及如何解决。
过程: 当删除所有管理员按钮被按下时,它调用一个 PHP 函数来截断表管理、adminimg 和登录,从与表管理中的 id 相关的文件夹中删除所有图像unlink(),并在管理表上创建一个 id=1(auto_increment) 和 name="abc" 的注册表。
问题:我有一个 jQuery 函数,它在文本框上显示特定的管理信息,验证文本框中 adminID 的值,并显示与该 ID 关联的图像。执行上述过程后,当我调用 jQuery 函数时,它正确显示了 id=1 和 name="abc",但在截断表格之前显示了与 id=1 的管理员关联的已删除图像。
jQuery 函数(如有必要)
$(".btneditadmin").click( e =>{
let textvalues = displayDataAdmin(e);
let id = $("input[name*='idadmin']");
let name = $("input[name*='nameadmin']");
id.val(textvalues[0]);
nome.val(textvalues[1]);
var img_url = 'Images/Administration/admin'+$("#idadmin").val()+'.jpg';
$("#admin-image").attr('src',img_url);
});
function displayDataAdmin(e) {
let id = 0;
const td = $("#tbody tr td");
let textvalues = [];
for (const value of td){
if(value.dataset.id == e.target.dataset.id){
textvalues[id++] = value.textContent;
}
}
return textvalues;
}
答案 0 :(得分:0)
如果您确定该图像不再存在,那么这是缓存问题,这样的事情可以解决
let img_url = 'Images/Administration/admin'+$("#idadmin").val()+'.jpg';
img_url += '?' + new Date().getTime() ; // cache killer
$("#admin-image").attr('src', img_url);
但是,无论如何您都在调用该函数,因此我建议进行加载/错误检查
$('#admin-image').load(function(){ // when loaded successfully
console.log('success');
}).error(function(){ // when theres an error
$(this).remove()
// or you could replace it with a default image
$(this).attr('src', '/images/default.jpg');
});