Javascript 如果浏览器刷新了节点,则更改url

Javascript 如果浏览器刷新了节点,则更改url,javascript,node.js,refresh,Javascript,Node.js,Refresh,我有一个节点应用程序。假设url如下所示: http://www.testurl.com/?access_token=1234。此url由Spotify生成,因为使用其API需要此access\u tokn 仅当用户刷新页面时,我希望url删除url的最后一部分并加载http://www.testurl.com。重要的是,它只发生在页面刷新时,因此用户必须再次验证自己 ,但它们都不起作用。我认为他们没有工作的原始海报也没有被接受的答案 我已经看到,这是可能的。是否有人知道是否可以使用节点检测等价

我有一个节点应用程序。假设url如下所示:

http://www.testurl.com/?access_token=1234
。此url由Spotify生成,因为使用其API需要此
access\u tok
n

仅当用户刷新页面时,我希望url删除url的最后一部分并加载
http://www.testurl.com
。重要的是,它只发生在页面刷新时,因此用户必须再次验证自己

,但它们都不起作用。我认为他们没有工作的原始海报也没有被接受的答案

我已经看到,这是可能的。是否有人知道是否可以使用
节点
检测等价物

php解决方案如下所示

$pageWasRefreshed = isset($_SERVER['HTTP_CACHE_CONTROL']) && $_SERVER['HTTP_CACHE_CONTROL'] === 'max-age=0';
我也试过以下方法,但也不起作用

window.onbeforeunload = function(event){
    window.location.href = 'http://www.google.com';
};

为什么不在页面加载时将其从url中删除,以便在页面刷新时将其删除

history.replaceState(null, '', location.pathname);

不知道这是否是解决任何问题的最佳方法,但可以通过访问
request.headers
object来检查节点内部的HTTP头。下面是一个示例代码:

consthttp=require('http');
const url=require('url');
http.createServer(函数(req,res){
文书标题(200{
“内容类型”:“文本/html”
});
//家庭控制器
if(url.parse(req.url.path==“/”){
if(请求头[“缓存控制”]&&req.headers[“缓存控制”]=“最大年龄=0”){
console.log(“用户刷新”);
}否则{
日志(“用户未刷新”);
}
res.end(“你好!”;
}否则{
res.statcode=404;
res.end(“未找到”);
}
}).听(3000)