使用Node.js从URL捕获参数

时间:2018-08-03 19:41:37

标签: javascript node.js url parameters

我有一个如下所示的恒定链接:

http://link.com/?val1=val1&val2=val2

此链接将我重定向到一个具有常量参数(例如;)的随机值的新链接;

http://link2.com/?constant=randomvalue/

每次使用第一个链接时,都会从以下链接中获得随机值。

通过使用Node.js,如何在第二个链接中捕获“常量”的“随机值”?

我必须使用第一个链接才能到达第二个链接。

2 个答案:

答案 0 :(得分:1)

尝试将第二个链接作为URL阅读

let secondURL = new URL("http://link2.com/?constant=randomvalue/");

然后像这样提取constant searchparam的值

let constantValue = secondURL.searchParams.get("constant"); //"randomvalue/"

答案 1 :(得分:0)

@Misantorp的答案可能是最好的,但是还有另一种方法。检出Node内置的querystring模块,它有一个方便的解析方法,仅用于以下目的:https://nodejs.org/api/querystring.html

这应该有效:

const querystring = require('querystring');

querystring.parse("http://link2.com/?constant=randomvalue/"); // { 'http://link2.com/?constant': 'randomvalue/' }

您可能希望从?开始添加子字符串,以使其更加清晰:

const str = "http://link2.com/?constant=randomvalue/";
const paramIndex = str.indexOf("?");
if (paramIndex >= 0) {
    const queryParamStr = str.substr(str.indexOf("?"));
    const queryParams = querystring.parse(queryParamStr);
    console.log(queryParams["constant"]);
}