快递强制刷新客户端网页

express force refresh client webpage

我正在尝试刷新客户端网页(使用路由器),我看到的所有地方都与使用 res.redirect(某种相同的页面 link)有关,但是对于某些原因这对我不起作用,您知道其他选择吗? 我的代码看起来像这样

    router.post('/sendSnippet', function (req, res) {
    req.on('data', function(data) {
        User.findOne({email: req.user.email}).then((userToEdit) =>{
            if(userToEdit){
                var newSnippet = {
                    "types":[],
                    "code": data.toString()
                }
                userToEdit.snippets.push(newSnippet)
                userToEdit.save().then(()=>{
                    //refresh here
                    res.redirect('/profile/');
                })
            }
        })
    })
});

提前感谢您的帮助

假设您正在尝试为您的网站强制重新加载客户端的浏览器选项卡,我认为您无法在服务器端执行此操作。

您可以使用 meta http-equiv or the Refresh HTTP header 告诉客户端浏览器在一段时间后刷新页面或使用客户端 javascript 刷​​新页面:

路由器:

router.post("/example", (req, res) => {
  res.header("Refresh", "10"); // tells the browser to refresh the page after 10 seconds
  res.send("your data");
});

元:

<head>
  <!-- Refresh after 10 seconds -->
  <meta http-equiv="refresh" content="10">
</head>

Javascript + html:

<html>
  <body>
    <script>
      // reloads after 10 seconds
      setTimeout(() => {
        location.reload();
      }, 10000);
      
      // or you could have some kind of API to tell when to refresh the page
      function check() {
        const x = new XMLHttpRequest();
        x.open("GET", "some path");
        x.send();
        x.onload = function() {
          if (x.response === "done") {
            location.reload();
          } else {
            setTimeout(check, 1000);
          }
        }
      }
      check();
    </script>
  </body>
</html>