gpt4 book ai didi

javascript - 使用 Node 和 Express 将查询字符串作为实际字符串传递给请求

转载 作者:行者123 更新时间:2023-12-03 07:06:14 25 4
gpt4 key购买 nike

所以,基本上我所做的就是抓取网页,获取我想要的所有数据并将其显示在我网站的网页上。当抓取这个特定页面时,我需要“href”标签内的链接。然而,这个特定的网站不使用常规链接。 “href”标签内是一个查询字符串。我的计划是获取“href”内的内容并创建一个 url 来发出下一个请求,但现在当我尝试将查询字符串传递到 url 中时,我无法通过 req.params 在 Node 中访问它

我想知道是否有一种方法可以传递查询字符串,而服务器不会认为它是查询字符串,或者我是否必须使用 req.query 来获取所有参数并从头开始重新构建 URL?

以下是我所讨论内容的一些示例:

page1.ejs:

<a href="/display/<%= some.href %>"></a>

some.href = "?variable=bleh"

服务器端处理:

app.get('/display/:string', function(req, res) {
var url = "http://theurlineed.com/" + req.params.string;
});

该代码不起作用。当我点击链接时,它告诉我无法获取/display/?variable=bleh

最佳答案

您需要对查询字符串进行编码,以便它不会被视为 URL 中的查询字符串:

some.href = encodeURIComponent("?variable=bleh");

那么您的 URL 将是:/display/%3Fvariable%3Dbleh。正如评论中提到的,Express 会自动解码 req.params.string 中的值,因此它将是正确的值。

关于javascript - 使用 Node 和 Express 将查询字符串作为实际字符串传递给请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36817433/

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