在网上找了许久都没有找到解决方案,希望在这里有高手能够给出解决方法,或者其他解决的方法。通过使用 ajax 进行页面无刷新而改变了页面的内容,而现在面临的问题是,如果用户刷新页面的话,又会变成初始页面的那条信息。
比如:http://localhost/newdi6/personalWorld/UserWeb.asp?contentName=ps_album_item&photoClassId=70&photoId=362
上面是页面的初始链接地址
当进入下一条信息时,如果不适用ajax的话
地址应该为:
http://localhost/newdi6/personalWorld/UserWeb.asp?contentName=ps_album_item&photoClassId=70&photoId=363而现在使用了ajax 页面信息改变了,页面地址还是最初的地址:
http://localhost/newdi6/personalWorld/UserWeb.asp?contentName=ps_album_item&photoClassId=70&photoId=362
如果此时用户刷新页面的话,页面就会变成
http://localhost/newdi6/personalWorld/UserWeb.asp?contentName=ps_album_item&photoClassId=70&photoId=362
这条地址显示的信息
现在我想到的解决方法是,通过location.href 在ajax改变页面信息时通过改变地址信息,然而那样同时就会刷新页面。如何能够不刷新页面,而改变地址栏信息呢??还想到的一种解决办法就是,当用户刷新页面时,通过某个事件监控刷新,在刷新前改变地址栏信息。但是不知道是否有这样的事件。如果有希望哪位高手告知下。目前所能想到的就是这些解决办法,知道还有别的方法,但一时想不出来,如果谁能有别的可行的办法,请告知,不胜感激。有限的几次发求助贴,如果有不合适之处,希望大家包涵!

解决方案 »

  1.   

    楼主ajax只是局部刷新,而当整个页面刷新的时候它就不起作用了,至于地址栏的显示,刷新的时候是不会改变的
      

  2.   

    现在希望找到在ajax进行局部刷新的时候,可以改变地址栏信息,却不进行整个页面的刷新
      

  3.   

    正如楼上所说,ajax不会改变地址栏至于你说的那个参数你可以在页面url里设置成 #3
    然后获取这个值来加载相应的可以看看yui 的history插件(当然这个目前也有bug,不过你还是可以参考下思路),
      

  4.   

    LZ可以尝试下用POST的方式来实现
    ajax调用后可以通过JS来改变POST的参数
      

  5.   

    请问楼上具体使用js改变post参数的方法,感谢!!
      

  6.   

    不好意思,刚刚试了一下,POST参数好象也实现不了
      

  7.   

    用服务端跟踪下用户的行为,再在window.onload里面根据服务端返回(ajax)值判断,是否显示原始页面
      

  8.   

    看看这个思路行不行:把当前id存在cookie里面。当照片网页加载前,在cookie里设photoId=362,网页加载后,从cookie里取photoId,用ajax取照片信息。用户遍览照片是,在cookie里更新photoId。这样,用户刷新页面的话,网页加载后,从cookie里取photoId,保持了浏览照片的状态。
      

  9.   

    9楼和10楼的思路差不多,都是使用ajax进行初始页面显示(刷新也是初始页面)
    看来现在这是唯一的解决办法了,既然是ajax惹得麻烦,就用ajax解决吧。
    呵呵!
    感谢9楼10楼!!