You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js+Express实现表单提交后弹出欢迎用户名的alert提示框

解决方案

这里给你两种常用实现方式,按需选择即可:

方案1:传统表单提交(页面刷新跳转)

不需要修改前端代码,只需要调整server.js的POST路由逻辑,服务端直接返回带弹窗脚本的HTML内容:

// server.js 替换原post路由代码
app.post('/', function(req,res) {
   const username = req.body.username;
   // 直接返回带alert脚本的响应,弹窗后可跳转回登录页
   res.send(`
    <script>
      alert('Welcome ${username}');
      // 弹窗确认后跳转回登录页,不需要跳转可以删掉这行
      window.location.href = '/';
    </script>
   `);
});

注意:该方案提交后页面会跳转,适合简单不需要保留原页面的场景,生产环境使用时建议对username做XSS转义处理,避免恶意用户名注入脚本。

方案2:AJAX无刷新提交(体验更好)

需要同时调整前端HTML和后端路由,提交表单不会刷新页面:

第一步:修改index.html

给表单添加id,新增提交事件监听逻辑:

<body>     
<main class="form-signin">
    <!-- 给form添加id -->
    <form id="loginForm" method="post" action="/">
      <h1 class="h3 mb-3 fw-normal">Login</h1>
      <br/>
  
      <div class="form-floating ">
        <input type="name" class="form-control" name="username"  placeholder="Enter Username...">
        <label for="floatingInput">Username</label>
      </div>
      <div class="form-floating">
        <input type="password" class="form-control" name="password" placeholder="Enter password">
        <label for="floatingPassword">Password</label>
      </div>
      <button class="w-100 btn btn-lg btn-primary" type="submit">Sign in</button>
    </form>
  </main>
  <!-- 新增脚本逻辑 -->
  <script>
    document.getElementById('loginForm').addEventListener('submit', async function(e) {
      // 阻止默认表单提交跳转行为
      e.preventDefault();
      // 组装表单数据
      const formData = new FormData(this);
      // 发POST请求到后端
      const res = await fetch('/', {
        method: 'POST',
        body: new URLSearchParams(formData)
      });
      const data = await res.json();
      // 前端弹出欢迎提示
      alert(`Welcome ${data.username}`);
      // 可选:清空表单内容
      this.reset();
    })
  </script>
</body>

第二步:修改server.js的POST路由

后端返回JSON格式的用户名数据:

app.post('/', function(req,res) {
   const username = req.body.username;
   res.json({ username: username });
});

两种方案修改完重启服务即可测试效果。

内容的提问来源于stack exchange,提问作者Saiprakash Reddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 16:45:04