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

解决方案 »

  1.   

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

  2.   

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

  3.   

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

  4.   

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

  5.   

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

  6.   

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

  7.   

    好难啊,用javascript 行不行?
      

  8.   

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

  9.   

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

  10.   

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

  11.   

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

  12.   

    简单:
      存在某个进度条样式的东西(不可见),点击按钮时让进度条显示,并提交数据到本页面(即不设置form或链接的target属性)。提交的数据处理完毕以后,浏览器会负责刷新本页面(进度条自然没有了)。