如何在节点中设置回调URL?
例如,假设我正在创建一个电子商务网站。如果用户在购买前未登录,则需要将example.com/buy
重定向到example.com/login
,一旦他们完成登录,我想将他们重定向到example.com/buy
页面。我该如何实施呢?
谢谢
答案 0 :(得分:2)
在重定向到登录页面(let someArr = [1,2,2,2,3,3,4,4,5,5,6,7,8,9]
let resultArr = someArr.reduce((intermediateArr, item) => {
if(!intermediateArr.includes(item)) {
intermediateArr.push(item)
}
return intermediateArr;
}, [])
console.log(resultArr.toString()) // 1,2,3,4,5,6,7,8,9
)时,将其当前URL添加到查询字符串中,并使用该查询在登录后将其重定向回到其上一页。
答案 1 :(得分:1)
考虑实现此目标的实际方法。关键在于登录表单的处理时间。用户成功登录后,您希望将其发送到/
,但是如果他们尝试购买商品,则希望将其发送到/buy
。那么如何存储先前的意图,以便服务器在重定向时可以读取它?
一个简单的选择是将GET参数添加到URL。您无需将它们发送到/login
,而是将它们发送到/login?redirect=buy
。然后,您使用不带<form>
的{{1}},这将保留URL供节点处理。登录信息签出后,您只需检查是否存在action
参数并采取相应措施即可。
另一种方法是将用户的意图存储在redirect
参数中,并在适当的时间将其读回。
问题实际上变成了“我如何为在导航到新页面后仍然存活的用户存储信息,并且可以随时在服务器上阅读?”一旦从更普遍的问题中删除了特定的用例,就更容易找到现有的答案。
答案 2 :(得分:-3)