页面上的链接调用servlet,执行后返回到上一页
link on page calls a servlet after execution go back to previous page
我有一个HTML页面。在这个页面上我有一个链接。当用户单击链接时,我调用一个servlet,它在一个新页面中打开。在这个servlet上,我试图更新我的数据库。完成更新后,我可以关闭从servlet启动的页面。现在我想在原来的HTML页面上运行一个脚本,但是我不能这样做,因为没有触发器/事件来调用该方法。
我该怎么做呢?提前感谢!
您可以使用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上的回答:父窗口如何知道它的子窗口关闭了?为指令。
相关文章:
- 如果返回的数据是javascript,$.ajax会自动执行脚本吗
- 如何执行ajax响应返回的javascript函数
- onsubmit返回false,但submit仍然执行
- 从自执行函数返回函数的Javascript性能命中率
- 如果总是执行finally,为什么try会返回未更改的值
- 如何执行PageMethod返回的javascript
- 未在Firefox中执行PageMethod的返回函数
- 对php文件的Ajax调用返回该文件中的JS代码,而不是执行它
- 来自函数 Javascript 的 NaN 返回值 ||函数执行顺序
- 函数将信息返回到控制台日志,但实际上并没有执行应有的操作
- 使用 GitHub API 在 dojo 中执行 PUT 更新会返回 400:解析 JSON 时出现问题
- 从Ajax返回时执行Javascript
- 使用Node中的Q promise库对值数组顺序调用/执行相同的函数;并返回带有结果的新数组/集合
- Ajax-执行成功前返回false
- 当JS在Chrome控制台上正常工作时,Selenium JavaScript执行器返回null
- 执行返回res.send()的Javascript代码
- 为什么可以't在执行返回对象中的函数时使用parens
- 执行返回承诺的处理程序队列
- 如何在javascript中停止执行返回false
- 使用Javascript执行返回JSON的简单GET请求时出现问题