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一下吧!