AJAX JQUERY检索哈希值

时间:2013-02-12 15:57:24

标签: javascript jquery ajax hash

下面是我的代码,使用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重新加载图像。有什么想法吗?

1 个答案:

答案 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');
    }
});