ajax 刷新的问题

linxi246 2010-06-10 09:17:47
在网上找了许久都没有找到解决方案,希望在这里有高手能够给出解决方法,或者其他解决的方法。

通过使用 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改变页面信息时通过改变地址信息,然而那样同时就会刷新页面。如何能够不刷新页面,而改变地址栏信息呢??

还想到的一种解决办法就是,当用户刷新页面时,通过某个事件监控刷新,在刷新前改变地址栏信息。但是不知道是否有这样的事件。如果有希望哪位高手告知下。

目前所能想到的就是这些解决办法,知道还有别的方法,但一时想不出来,如果谁能有别的可行的办法,请告知,不胜感激。

有限的几次发求助贴,如果有不合适之处,希望大家包涵!

...全文
129 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
linxi246 2010-06-10
  • 打赏
  • 举报
回复
结贴了~~~~~~~~~~~~~
linxi246 2010-06-10
  • 打赏
  • 举报
回复
9楼和10楼的思路差不多,都是使用ajax进行初始页面显示(刷新也是初始页面)
看来现在这是唯一的解决办法了,既然是ajax惹得麻烦,就用ajax解决吧。
呵呵!
感谢9楼10楼!!
yliu0 2010-06-10
  • 打赏
  • 举报
回复
看看这个思路行不行:

把当前id存在cookie里面。当照片网页加载前,在cookie里设photoId=362,网页加载后,从cookie里取photoId,用ajax取照片信息。用户遍览照片是,在cookie里更新photoId。

这样,用户刷新页面的话,网页加载后,从cookie里取photoId,保持了浏览照片的状态。
l6801567 2010-06-10
  • 打赏
  • 举报
回复
用服务端跟踪下用户的行为,再在window.onload里面根据服务端返回(ajax)值判断,是否显示原始页面
linxi246 2010-06-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lihui_shine 的回复:]

引用 6 楼 linxi246 的回复:
请问楼上具体使用js改变post参数的方法,感谢!!

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

哦,没事!
浪尖赏花 2010-06-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 linxi246 的回复:]
请问楼上具体使用js改变post参数的方法,感谢!!
[/Quote]
不好意思,刚刚试了一下,POST参数好象也实现不了
linxi246 2010-06-10
  • 打赏
  • 举报
回复
请问楼上具体使用js改变post参数的方法,感谢!!
浪尖赏花 2010-06-10
  • 打赏
  • 举报
回复
LZ可以尝试下用POST的方式来实现
ajax调用后可以通过JS来改变POST的参数
linxi246 2010-06-10
  • 打赏
  • 举报
回复
看来还是要找别的解决办法,感谢楼上的两位,至少你们让我知道我的思路实行不通的,呵呵!
sohighthesky 2010-06-10
  • 打赏
  • 举报
回复
正如楼上所说,ajax不会改变地址栏

至于你说的那个参数你可以在页面url里设置成 #3
然后获取这个值来加载相应的

可以看看yui 的history插件(当然这个目前也有bug,不过你还是可以参考下思路),
linxi246 2010-06-10
  • 打赏
  • 举报
回复
现在希望找到在ajax进行局部刷新的时候,可以改变地址栏信息,却不进行整个页面的刷新
passself 2010-06-10
  • 打赏
  • 举报
回复
楼主ajax只是局部刷新,而当整个页面刷新的时候它就不起作用了,至于地址栏的显示,刷新的时候是不会改变的

87,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧