ajax的问题?

08-07-31 rock550613
         

我用struts1.2+ajax.
在action类中输出了一句话。
点同一个按钮 :
第一次ajax请求经过了action.
第二次以后就不经过了。是怎么回事呢?
//事件触发的函数
function action()
{
var url="userManager.do";
createXMLHTTP();
xmlHTTP.open("GET",url,true);
xmlHTTP.onreadystatechange=proc;
xmlHTTP.send(null);

}

//这是经过的action类中方法
public ActionForward userManager(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {

System.out.println("经过这里---------------");
return mapping.findForward("success");
}

//配置文件
<action path="/userManager"
parameter="method"
scope="request"
type="com.demo.struts.actions.UserAction"
>
<forward name="success" path="/systemJsp/userManager.jsp"></forward>
</action>

         

hellohong
2008-07-31 09:31

有可能是是xmlhttp缓存缘故,
可以用一下在你的JS代码中用
var url = "your path?date=" + new Date();
来每次请求的时候用不同的的url,
可以学习一下Prototype等JS框架, 这样一来的话, 发起一个异步的http请求要容易得多,

另外在服务端返回数据的时候, 可以设置一下回复报头, 让其不缓存,
response.setHeader("no-cache
具体记不清了, google一下吧!