javaweb编程时,通过request向前端传递数据时,前端总是无法获得正确的数据,求助,谢谢。

在前端,通过ajax不断向服务器发送请求,代码如下:服务器从一开始就不断地查询数据库,在一个特定的类中通过线程实现:getCurrentLabels()方法如下:page... 在前端,通过ajax不断向服务器发送请求,代码如下:

服务器从一开始就不断地查询数据库,在一个特定的类中通过线程实现:

getCurrentLabels()方法如下:

pageController通过如下方法向前端发送数据:

大致的过程就是这样,但是前端获取的数据总是初始化时候的数据,似乎服务器并没有把新的数据覆盖掉。求教,谢谢。
function sendToServer(){
xmlHttp.open("POST","login?arg=11",true);
xmlHttp.send(null);
}

function sendToServerOfGetLabels(){
sendToServer();
}
这是发送请求用的。
下面这个方法是接收响应用的:
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4){
alert("<%=((int[])request.getAttribute("init"))[0] %>");//测试
}
};
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏10(财富值+成长值)
润泽且素淡灬瑰宝h
2015-04-18 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3561
采纳率:3%
帮助的人:1862万
展开全部
我觉得你应该把你的sendToServerOfGetLabels这个方法贴出来看一下。后台的那些方法只要返回页面的部分就行了。
很显然你的程序不会实现你预期的效果的:
你在后台用rdt.forward的方式返回到main.jsp页面,每次返回的时候页面会被重新加载,页面重新加载的时候肯定数据都是初始化的时候的数据啊。页面整体都被刷新了一下也。
你应该用ajax返回数据的方式来返回啊。用将信息通过json的方式返回sendToServerOfGetLabels这个方法里面,然后在这个方法里面对相应的值进行抽取,放到想要的位置就行了。而不是直接返回到页面,返回到页面之后,你的那个定时器就没有意义了。
更多追问追答
追问
已贴。
虽然每次都是重新加载页面,但是req里的需要发送的对象的值不会被覆盖吗?谢谢
追答
你没有发现你是通过ajax提交,但是没有返回到ajax里面吗??
从哪里进去就要从哪里出来啊。不能直接返回到其他页面(虽然还是当前页面),你只需要把数据返回到ajax的对象里就行了。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式