快递强制刷新客户端网页
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>
我正在尝试刷新客户端网页(使用路由器),我看到的所有地方都与使用 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>