Ajax 与 Servlet 之间通信问题

Ajax主要请求代码:
function showHint()
{
xmlHttp=GetXmlHttpObject()

if (xmlHttp==null)
{
alert ("Ajax not support");
return;
}

var url="syncsendtocp";
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
通过window.setInterval('showHint()', 6000);进行定时执行

SyncSendToCP HttpServlet响应代码
public void doGet(HttpServletRequest req, HttpServletResponse resp){
try{
PrintWriter pw=resp.getWriter();
pw.println(change);
pw.flush();
pw.close();
}catch(Exception e){
e.printStackTrace();
}
}

web配置文件

SyncSendToCP
com.openlab.publicopinion.struts.action.SyncSendToCP

debug
0

1

遇到的问题是这样,第一次Ajax执行到后台查询数据的时候,SyncSendToCP的DoGet方法能正常响应,但是Ajax循环执行到第二次以及以后的时候,SyncSendToCP的DoGet方法根本没有响应,感觉像是没有获取到这个Get请求,是为什么呀?

2个回答

去除缓存...
在doGet中加入[code="java"]
response.setHeader("Expires", "0");
response.setHeader("Cache-Control", "no-store");
response.setHeader("Pragrma", "no-cache");
response.setDateHeader("Expires", 0);
[/code]

我试过没有你说的问题,不过我用的是JQuery里的ajax方法发起的请求,我看是你的AJAX有问题:
[code="javascript"]
function showHint()
{
xmlHttp=GetXmlHttpObject()

if (xmlHttp==null)
{
alert ("Ajax not support");
return;
}

var url="syncsendtocp";
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
[/code]

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐