【问题标题】:auto update a jsp page when data is updated to database数据更新到数据库时自动更新jsp页面
【发布时间】:2012-06-20 09:48:10
【问题描述】:

我在一个表单中有一个 home.jsp(以表格形式显示数据),它打开一个弹出窗口来更新数据(editUser.jsp)。

<form method ="post" action="editUser.jsp"  onsubmit="target_popup(this)">

editUser.jsp 有一个表单来更新数据

<form method="post" action="edit.jsp">

/*HTML FORM*/

点击提交按钮后,它会转到edit.jsp 页面以将数据更新到数据库。 edit.jsp 页面中只包含用于更新数据的 java 代码,没有其他内容

现在我必须在将数据插入数据库后或在 editUser.jsp 中按下提交按钮时自动刷新 home.jsp 页面? 我该怎么做?到目前为止,我必须手动刷新页面。网页控制流程

home.jsp ->editUser.jsp -> edit.jsp

$(function(){
               $("#submit").click(function(){

                  var a=$("#ID").val();
                  var b=$("#NAME").val();
                  var c=$("#PWD").val();
                  var datastring='ID=' + a + '&NAME=' + b+'&PWD='+c ;

                        $.ajax
                        ({
                                type: "POST",
                                url: "edit.jsp",
                                data: datastring,
                                success: function(){

                                        window.close();
                                        window.location.href="home.jsp";


                                                        }
                        });
               });
            });

但此代码不起作用。我该怎么办????

【问题讨论】:

    标签: jquery jsp


    【解决方案1】:

    您可能有兴趣为您的用例实现类似Knockout 的东西。它是一个 Javascript MVVM 框架,支持可观察对象,可在服务器更改时在客户端自动刷新。这样,您就不必进行硬页面刷新/重新加载。

    【讨论】:

    • 好吧,您可以通过父窗口上的事件连接刷新逻辑,并从子(弹出)窗口触发该事件以有效触发页面刷新。 See here.
    • 基本上你希望你的弹出窗口告诉你的父窗口它已经完成了它需要做的任何事情——你不需要 AJAX。您可以在父窗口中使用 AJAX 来检查数据库是否已更改 --- 但这正是 Knockout 为您执行的工作流程。
    猜你喜欢
    • 1970-01-01
    • 2011-12-21
    • 2012-11-27
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-02
    • 2022-01-08
    相关资源
    最近更新 更多