下面是我的代码,使用ajax动态更改图像而不刷新页面。
HTML
<img id="design" alt="" width="300" height="300" />
<input type="button" id="GetImage" value="Get Image" />
JQUERY
$(document).ready(function(){
$("#GetImage").click(function() {
$.ajax({ //Make the Ajax Request
type: "POST",
url: "testimagelook.php", //file name
success: function(server_response){
var id = server_response;
document.location.hash = id;
$('#design').attr('src','img/boxes/'+id+'.png');
}
});
});
});
php文件testimagelook.php连接到数据库并带回我的一个图像的随机ID。此代码适用于显示图像并将图像的ID保存在URL的哈希中,从而允许我保留图像的用户历史记录。但是,当用户单击后退按钮时,我不确定如何检索先前的哈希值并使用正确的ID重新加载图像。有什么想法吗?
答案 0 :(得分:1)
试试这个:
$(document).ready(function(){
if (document.location.hash) {
updateImage();
}
$("#GetImage").click(function() {
$.ajax({ //Make the Ajax Request
type: "POST",
url: "testimagelook.php", //file name
success: function(server_response){
var id = server_response;
document.location.hash = id;
}
});
});
$(window).bind('hashchange',function(){
updateImage();
});
function updateImage() {
var id = document.location.hash.substring(1); // remove #
$('#design').attr('src','img/boxes/'+id+'.png');
}
});