我有一个非常奇怪的问题。我用ajax和php创建了一个登录系统 加载userprofile后,用户也会有一张图片 然后当我尝试在模态对话框中使用iframe更改图片并按Save 应在用户配置文件中更改图像,而不刷新页面 我用
$(".userPicture").attr("srs","Users/"+username+"/profileimg.jpg");
我也试过
$(".imgContainer").html("<img src='Users/"+username+"/profileimg.jpg' class='userPic' >");
仍然没有工作
即使我上传新图片,似乎缓存的图片也会加载到个人资料图片中 问题是我想用ajax做这个而不用刷新页面 如果我重新加载页面,图片会被更改。请帮忙。 另外,我如何在success函数中验证$ .ajax函数的特定输出 例如
$.ajax({
type: 'POST',
url: baseURL,
dataType: 'html',
cache: false,
data: {
action: "LOGIN",
username:username,
password:password
},
success: function(data) {
if (data == "empty") {
showError("Error: Wrong Username or Password","loginTab");
}
else {
}
}
});
当我做数据类型json我可以验证我的数据,如果它是空的,但当我做html我不能。 有没有其他方法可以处理这种情况。
答案 0 :(得分:8)
向网址添加缓存破坏随机值,强制服务器检索新副本:
"Users/"+username+"/profileimg.jpg?cachebuster=" + new Date().getTime()
网络服务器将忽略查询字符串,因为它只是获取jpg,查询字符串将强制浏览器将其视为“新”请求,因此它将绕过缓存并命中服务器。