吴莫愁跨年:网页ajax的两个小问题

来源:百度文库 编辑:高考问答 时间:2024/04/30 03:45:18
小弟前段时间用javascript的ajax做了个实时检测的页面,碰到两个问题,希望大家帮忙看看,能帮忙解决的追加200分

1、如何实现后退,也就是类似 history.back() 的效果,我想这个问题很多人都有碰到过,不知有什么好的解决办法?

比如一个人查询了几条记录出来,他查看了其中一条的详细信息后,要怎么返回到记录列表呢?

2、中文乱码

在显示页sjcp.htm里,我有加了这句
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

在动态页sjcp.asp里,我也有加了这两句
Response.ContentType="text/xml; charset=gb2312"
Response.AddHeader "Cache-Control","no-cache,must-revalidate"

本来是用的好好的,全部机子都正常,但是不久却发现前台有台机子上却出现乱码,现象和没加
Response.ContentType="text/xml; charset=gb2312"
这句一样,其它机子都正常,就这台乱码,但是因为这台机子是前台用的,必须正常运行,所以不得已,只好不使用ajax而重新用asp编写了页面。
为什么会出现这种情况,要怎么解决呢?
.
如果第二个问题没法解决,帮忙看看第一个问题吧

一楼的,history.back(-1)这句就错了,应该是history.go(-1)
但是ajax里面用这句没效果

二楼的,这样做是可以,但每次查询列表要花去几秒的时间,这样在速度上有点慢。如果有人要逐条看详细信息,那就让人难以忍受了。有没有更好的方案?

第一个问题其实很简单,因为你用的是AJAX所以不存在页面整体刷新的问题,所以后退是没有效果的,那么你可以在详细上添加一个按钮,比如"返回"用来再一次调用列表的查询就行了!

好办。。

第一个问题:用javascript的history.back(-1);就可以啊,-1是返回上一页,-2上两页,……
<a href="#" onclick="javascript:history.back(-1);">返回列表</a>

第二个问题:在服务器端输出的时候用escape(text),在客户端用unescape(text),就不会乱码了。