【问题标题】:How can I pass URL variable to express.js as in php?如何像在 php 中一样将 URL 变量传递给 express.js?
【发布时间】:2013-01-21 06:09:45
【问题描述】:

现在我正在将我的 php 网站转换为 express js。我的前端有很多 pf 脚本。所有这些脚本都会生成类似 page.php?id=10&something=anything 的链接。在 express js 中,我可以捕捉到 url 是否像这个 page.php?/10/anything**。有没有什么方法可以从 url 中捕获变量,例如 express js 中的 page.php?id=10&something=anything

【问题讨论】:

  • page/:id/:something 在 express 路由器中可以为您获取 url 变量值。
  • 为什么不解析网址,拆分“?”作为基本拆分,然后继续使用“&”拆分,并进行故障安全“[]”拆分,因为您曾经向您的服务器发送 GET 变量数组
  • @mithunsatheesh 我必须更改我所有的 JavaScript(客户端)才能使 url 像这样。这就是我问这个问题的原因
  • @Zlatan ,您的解决方案很好。谢谢
  • @user1263451:我明白你说的客户端是什么意思? .. 您可以在控制器中以req.params.idreq.params.something 的身份访问这些数据,并使用您想要的任何东西呈现您的视图。

标签: php javascript node.js url express


【解决方案1】:

您可以使用传统的 Express 方式,例如“/myroute/id/:number”,也可以使用“myroute?id=:number”

首先:如果您的路线如下所示,请更改路线代码:

app.get('/user/:id', user.list);

app.get('/user/', user.list);

在您的 users.js 中更改行为以获取参数...

exports.list = function(req, res){
    var id = req.query.id;
    console.log("ID: " + id);
};

获取所需参数的秘诀是 req.query.id 中的“查询”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-24
    • 2018-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多