请教关于页面定向的问题!帮顶者也有分!!!!

时间:2022-09-23 21:22:16
我的标题不知道描述得准确不准确!
问题是:我现在做了一个模拟的进度条,然后通过在页面上点一button,出现进度条等待,同时在调用进度条的函数中,想同时时之访问一写好的servlet,由它去做真正的处理!
我开始的做法是,在点button时调用的js函数中加入一类似window.location= "../servlet/doaction";结果发现这样一来,这个页面会重定向!我本意是想展示进度条的同时,又想使之访问一链接,使后台处理!

大家看看有什么理想,可行的办法呢??

27 个解决方案

#1


能不能将button放到一个form里面呢??

#2


up

#3


大家看看有什么好方法呢?
我刚才尝试着这样做也不行:
把button放到一个form里,然后在点击button要调用的js函数中通过
var test = document.getElementById("asy");
test.action ="http://localhost:8080/Servlet/doAction";
……(产生进度条的代码)

这样也仍然不行,没有访问http://localhost:8080/Servlet/doAction

#4


是不是可用ajax来处理?

#5


帮顶。

学习,,记得解决了吧答案给贴出来。

#6


回楼上的“游戏人生”,我觉得不需要用ajax吧?
因为我实际上并没和server端通讯啊,我只是简单是通过一个点击出现一个等待的画面,同时打开一个新的联接,难道要通过ajax去get吗?

#7


学习中...

#8


帮顶
写出来,通知大伙一声!

#9


进度条是出现在一个单独的页面中吗?

#10


不是的,楼上的,进度条是在同一个页面上!
简单的说,我点一button,这一动作触发2件事,一件是产生等待的进度条,当然这里是模拟的!
另外一件事就去访问http://localhost:8080/Servlet/doAction。而访问http://localhost:8080/Servlet/doAction我又不希望重新打开一窗口!

#11


郁闷,想不到这一问题,竟然没人会!我还小瞧了这个问题!

#12


顶!我就不相信没高手!
我现在找了个非常不好的办法,只是能简单的实现!

#13


用servlet直接把进度条显示出来不就可以了?执行完再做重定向

#14


可以在Servlet里面先写现实进度条的代码,然后flush(),等全部完成以后再flush()余下的部分

#15


有点儿听不懂你想要什么样的效果,进度条加载结束跳转页面?

#16


up

#17


好难啊,用javascript 行不行?

#18


up

#19


JF

#20


ajax了....
因为你要同时显示进度条,并在后面进行servlet的处理,所以ajax

#21


UP

#22


javascript里无法启动java程序,除非重定向!
所以你要这样的效果的话,只能新写一个页面,在这个页面一开始就执行模拟进度条函数,并在下面执行servlet调用,调用结束后可以反馈给javascript停止进度条.
只在同一个页面是无法实现的,因为java代码必须是要在服务器端编译过才能运行的,而javascript在客户端脚本中,它无法生成java代码断,亦无法运行java函数,只有向服务器请求.

#23


JSP编译后其实就是一个servlet,把你进度条的相关代码写servlet里就可以了,不用做什么交互

#24


我以前弄过一个,很简单的,但是效果绝对好。
具体做法是在点击按钮的时候提交表单,同时将页面换掉。
怎么换呢?把输入按钮隐藏,显示进度条!简单style.display='none'的事情。

#25


楼上高,我看我同事有实现明天我去看看!

#26


UP

#27


简单:
  存在某个进度条样式的东西(不可见),点击按钮时让进度条显示,并提交数据到本页面(即不设置form或链接的target属性)。

提交的数据处理完毕以后,浏览器会负责刷新本页面(进度条自然没有了)。

#1


能不能将button放到一个form里面呢??

#2


up

#3


大家看看有什么好方法呢?
我刚才尝试着这样做也不行:
把button放到一个form里,然后在点击button要调用的js函数中通过
var test = document.getElementById("asy");
test.action ="http://localhost:8080/Servlet/doAction";
……(产生进度条的代码)

这样也仍然不行,没有访问http://localhost:8080/Servlet/doAction

#4


是不是可用ajax来处理?

#5


帮顶。

学习,,记得解决了吧答案给贴出来。

#6


回楼上的“游戏人生”,我觉得不需要用ajax吧?
因为我实际上并没和server端通讯啊,我只是简单是通过一个点击出现一个等待的画面,同时打开一个新的联接,难道要通过ajax去get吗?

#7


学习中...

#8


帮顶
写出来,通知大伙一声!

#9


进度条是出现在一个单独的页面中吗?

#10


不是的,楼上的,进度条是在同一个页面上!
简单的说,我点一button,这一动作触发2件事,一件是产生等待的进度条,当然这里是模拟的!
另外一件事就去访问http://localhost:8080/Servlet/doAction。而访问http://localhost:8080/Servlet/doAction我又不希望重新打开一窗口!

#11


郁闷,想不到这一问题,竟然没人会!我还小瞧了这个问题!

#12


顶!我就不相信没高手!
我现在找了个非常不好的办法,只是能简单的实现!

#13


用servlet直接把进度条显示出来不就可以了?执行完再做重定向

#14


可以在Servlet里面先写现实进度条的代码,然后flush(),等全部完成以后再flush()余下的部分

#15


有点儿听不懂你想要什么样的效果,进度条加载结束跳转页面?

#16


up

#17


好难啊,用javascript 行不行?

#18


up

#19


JF

#20


ajax了....
因为你要同时显示进度条,并在后面进行servlet的处理,所以ajax

#21


UP

#22


javascript里无法启动java程序,除非重定向!
所以你要这样的效果的话,只能新写一个页面,在这个页面一开始就执行模拟进度条函数,并在下面执行servlet调用,调用结束后可以反馈给javascript停止进度条.
只在同一个页面是无法实现的,因为java代码必须是要在服务器端编译过才能运行的,而javascript在客户端脚本中,它无法生成java代码断,亦无法运行java函数,只有向服务器请求.

#23


JSP编译后其实就是一个servlet,把你进度条的相关代码写servlet里就可以了,不用做什么交互

#24


我以前弄过一个,很简单的,但是效果绝对好。
具体做法是在点击按钮的时候提交表单,同时将页面换掉。
怎么换呢?把输入按钮隐藏,显示进度条!简单style.display='none'的事情。

#25


楼上高,我看我同事有实现明天我去看看!

#26


UP

#27


简单:
  存在某个进度条样式的东西(不可见),点击按钮时让进度条显示,并提交数据到本页面(即不设置form或链接的target属性)。

提交的数据处理完毕以后,浏览器会负责刷新本页面(进度条自然没有了)。