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] %>");//测试
}
}; 展开
服务器从一开始就不断地查询数据库,在一个特定的类中通过线程实现:
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(财富值+成长值)
1个回答
展开全部
我觉得你应该把你的sendToServerOfGetLabels这个方法贴出来看一下。后台的那些方法只要返回页面的部分就行了。
很显然你的程序不会实现你预期的效果的:
你在后台用rdt.forward的方式返回到main.jsp页面,每次返回的时候页面会被重新加载,页面重新加载的时候肯定数据都是初始化的时候的数据啊。页面整体都被刷新了一下也。
你应该用ajax返回数据的方式来返回啊。用将信息通过json的方式返回sendToServerOfGetLabels这个方法里面,然后在这个方法里面对相应的值进行抽取,放到想要的位置就行了。而不是直接返回到页面,返回到页面之后,你的那个定时器就没有意义了。
很显然你的程序不会实现你预期的效果的:
你在后台用rdt.forward的方式返回到main.jsp页面,每次返回的时候页面会被重新加载,页面重新加载的时候肯定数据都是初始化的时候的数据啊。页面整体都被刷新了一下也。
你应该用ajax返回数据的方式来返回啊。用将信息通过json的方式返回sendToServerOfGetLabels这个方法里面,然后在这个方法里面对相应的值进行抽取,放到想要的位置就行了。而不是直接返回到页面,返回到页面之后,你的那个定时器就没有意义了。
更多追问追答
追问
已贴。
虽然每次都是重新加载页面,但是req里的需要发送的对象的值不会被覆盖吗?谢谢
追答
你没有发现你是通过ajax提交,但是没有返回到ajax里面吗??
从哪里进去就要从哪里出来啊。不能直接返回到其他页面(虽然还是当前页面),你只需要把数据返回到ajax的对象里就行了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询