gpt4 book ai didi

javascript - 快速重定向并传递 JavaScript 变量

转载 作者:行者123 更新时间:2023-11-28 04:25:28 25 4
gpt4 key购买 nike

我有一个网站,我希望允许用户提交一条信息(为简单起见,我们假设他们的名字)。他们提交自己的姓名,该姓名会通过 post 请求发送到服务器,并为他们返回一个唯一的 url。

目标:当用户访问 mysite.com/their-unique-url 时,会将他们带到 mysite.com/index.html,并进行修改,以便他们的姓名(存储在数据库中)及其独特的网址)显示在页面上。

如何将用户快速重定向到index.html,并在执行此操作时传递一个JavaScript 变量供index.html 使用?

app.get("/:unique", function(req, res){
names.findOne({ 'id' : req.params.unique }, 'name', function (err, name) {
if (err) return console.error(err);
res.redirect('/'); //but I also want to pass 'name' to index.html
});

最佳答案

我找到的解决方案是使用 queryString 和正则表达式。

服务器端,添加查询字符串进行重定向:

res.redirect('/?name=' + name);

客户端,使用正则表达式从查询字符串访问变量:

function getUrlParameter(name) {
name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
var regex = new RegExp('[\\?&]' + name + '=([^&#]*)');
var results = regex.exec(location.search);
return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
};
console.log("name: " + getUrlParameter('name'));

但是,由于 querystring 的限制,我仍在寻找一种不使用 queryString 也不使用模板引擎的解决方案。

关于javascript - 快速重定向并传递 JavaScript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45104482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com