栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在传递一些上下文时如何在expressjs中重定向?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在传递一些上下文时如何在expressjs中重定向?

有几种方法可以将数据传递到不同的路由。当然,最正确的答案是查询字符串。您需要确保值正确地是enpreURIComponent和enpreURIComponent。

app.get('/category', function(req, res) {  var string = enpreURIComponent('something that would break');  res.redirect('/?valid=' + string);});

您可以通过使用来获取发送的参数,从而在其他路由中遇到麻烦

req.query

app.get('/', function(req, res) {  var passedVariable = req.query.valid;  // Do something with variable});

对于更动态的方式,您可以使用

url
核心模块为您生成查询字符串:

const url = require('url');    app.get('/category', function(req, res) {    res.redirect(url.format({       pathname:"/",       query: {          "a": 1,          "b": 2,          "valid":"your string here"        }     })); });

因此,如果您想重定向所有请求查询字符串变量,则只需执行

res.redirect(url.format({       pathname:"/",       query:req.query,     }); });

如果您使用Node> =
7.x,则还可以使用

querystring
核心模块

const querystring = require('querystring');    app.get('/category', function(req, res) {      const query = querystring.stringify({          "a": 1,          "b": 2,          "valid":"your string here"      });      res.redirect('/?' + query); });

另一种方法是在会话中进行设置。 您可以在此处阅读如何进行设置,但是设置和访问变量的方法如下:

app.get('/category', function(req, res) {  req.session.valid = true;  res.redirect('/');});

然后在重定向之后…

app.get('/', function(req, res) {  var passedVariable = req.session.valid;  req.session.valid = null; // resets session variable  // Do something});

也可以使用Express的旧功能

req.flash
。在较新版本的Express中执行此操作将需要您使用其他库。从本质上讲,它允许您设置变量,这些变量将在下次访问页面时显示并重置。它可以方便地向用户显示错误,但是默认情况下它仍已被删除。编辑:找到了添加此功能的库。

希望这将使您对如何在Express应用程序中传递信息有一个大致的了解。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/436476.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号