在NodeJS中,如何从带有#的URL中获取参数slug?

时间:2018-01-30 04:23:28

标签: node.js

示例:http://localhost:8080/watch/abcxyz-145#es-2

我希望在'#'之后得到slu ..我尝试下面的代码但不是。

app.get('/watch/:slug', function(req, res, next) {
   var slug = req.params.slug;
   var slugs = slug.split(/[\s-]+/);
}

1 个答案:

答案 0 :(得分:0)

简短回答 - 你不能。

至少不在服务器端。浏览器实际上并没有将#后的字符串发送到服务器。如果您需要从浏览器向Node.js / Express服务器获取该信息,我建议您通过window.location.hash抓取它,然后使用查询参数或以其他方式将其包含在您的请求中。假设您可以访问客户端的代码。

Check out this answer for additional information

如果你不能走这条路,(没有双关语)你可以看看this 回答一个解决方法,但是,如果只是将剩余的slug发送到服务器,请不要使它变得比它需要的更难。