如何获取车把中的当前网址

问题描述 投票:0回答:1

我在助手中有一个函数 getQuantityValueFromURL

getQuantityValueFromURL: (url) => {
    const currentURL = new URL(url);
    const urlParams = new URLSearchParams(currentURL.search);
    return urlParams.get('quantity');
}

调用此函数时如何传递网站的当前网址

{{getQuantityValueFromURL current url}}

我尝试使用 window.location.href 作为网址,但没有成功

node.js url handlebars.js geturl getcurrenturl
1个回答
0
投票

如果我理解正确的话,

current url
是一个术语,而不是两个不同的术语(
current
url
),并且您想要传递所请求的
url
。如果是这样,您可以将该数据传递到您的模板,只需将其添加到
res.render
方法的可选第二个参数中即可,并且您的辅助函数
getQuantityValueFromURL
可以访问该数据,如下所示:

// route.js

router.get('/path/here', (req, res) => {
   res.render('your_view', {
      data: someData,
      currentUrl: req.originalUrl
   });
});


// your_view.hbs

{{getQuantityValueFromURL currentUrl}}

但是,您的助手正在提取的信息已经可以在 Express 中的 req 对象的众多属性之一中访问。您不需要辅助函数。

示例 1(路由参数)如果用户请求了页面

https://www.yourshop/path/here/55

// route.js

router.get('/path/here/:quantity', (req, res) => {
  res.render('your_view', {
     data: someData,
     quantity: req.params.quantity // (quantity = 55)
  });
});

// your_view.hbs

{{ quantity }}

示例2(查询参数)如果用户请求了页面

https://www.yourshop/path/here?quantity=88

// route.js

router.get('/path/here', (req, res) => {
  res.render('your_view', {
     data: someData,
     quantity: req.query.quantity // (quantity = 88)
  });
});

// your_view.hbs

{{ quantity }}
© www.soinside.com 2019 - 2024. All rights reserved.