JavaScript子页面执行后刷新父页面的两种实现方案

作者:代码拾荒

时间:2026-10-29

浏览:323

本文详解JavaScript中子页面执行完成后刷新父页面的两种常见场景。第一种通过window.open打开子窗口,利用window.opener调用父页面回调函数实现刷新;第二种在Servlet后台处理删除操作后,直接通过out.print输出JavaScript代码跳转回主页面并强制刷新。

文章目录

本文通过具体实例,深入分析JavaScript中子页面执行完毕后如何刷新父页面的实现机制,旨在为开发者提供实用的参考方案。

通过window.open实现子页面刷新父页面

首先探讨主页面与子页面的交互逻辑。


<input id="btnAdd" type="button" onclick="openWin();" value="添加" />

在主页面JavaScript中,通常定义如下核心代码:


function openWin() {
window.open('addInfo.jsp', '_blank',
'width=300,height=400,top=200,left=400');
}
  //定义callback方法,用于回调
  function callback() {
refreshWin();
}
//刷新当前页面
function refreshWin() {
//调用刷新页面的方法,此处RefreshSocket为刷新页面对应的方法
//也就是说,如果页面有个刷新按钮,
//则点击按钮提交的类名就是此处的类名
var url = 'RefreshSocket';
window.location.href = url;
}

在addInfo.jsp子页面中,包含以下表单与脚本代码:


<form name="form" action="AddSocket" method="get">
<input id="onSub" type="button" onclick="formSubmit();" value="确定">
</form>

function formSubmit(){
this.form.submit();
//提交action到AddSocket类
window.opener.callback();
//上述执行完成后,调用打开页面的callback方法,
//此处是调用主页面的callback方法
window.close();//当前页面关闭
}

Servlet后台处理后直接跳转刷新

此外,若涉及删除等操作,流程通常是从JSP页面跳转至后台Java类,在类中完成一系列业务逻辑处理后,若需刷新当前页面,可直接在后台代码中编写跳转语句,具体实现如下:

主页面mainPage.jsp的相关配置。


//删除操作关联后台的DeleteSocket类,如果要传参数,用?即可
window.location.href = DeleteSocket

后台DeleteSocket类的处理逻辑。

具体代码实现如下:

// 执行一系列业务操作后,可直接编写JavaScript代码
// 执行上述语句后,即可直接跳转回主页面并完成刷新
out.print("<script type='text/javascript'>location.href='mainPage.jsp'</script>");

希望本文所述的JavaScript程序设计技巧能对各位读者有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章