页面上的链接在执行后调用servlet返回上一页

时间:2015-08-18 20:50:05

标签: javascript java html servlets

我有一个HTML页面。在页面上我有一个链接。当用户单击链接时,我正在调用一个在新页面中打开的servlet。在这个servlet上,我试图更新我的数据库。完成更新后,我可以关闭从servlet启动的页面。现在我想在原始HTML页面上运行一个脚本,但是我无法这样做,因为没有触发/事件来调用该方法。

我该怎么做 提前谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用ajax轮询servlet执行的后端进程的状态。完成后,执行您想要的任何内容。类似的东西:

var checkStatusTimeout;

function checkStatus(){
    $.ajax({
        type: "GET",
        url: "./getstatus",
        dataType: "text",
        contentType: "application/json; charset=utf-8",
        success: function(status){
            if (status == 'FINISHED'){
                clearTimeout(checkStatusTimeout);
                // execute whatever you want here
            }
        }
    });

    checkStatusTimeout = window.setTimeout("checkStatus()", 5000);
}

当用户点击链接时,您应该调用函数checkStatus()。

或者您可以将servlet使用的子窗口分配给变量并不时检查它以验证窗口是否已关闭。请查看Mark Coleman在javascript: How Can a parent window know that its child window closed?上的回答以获取相关说明。