前言
2021.5.7查看Node.js API文档发现url.parse()方法已弃用,于是在API文档中找方法来解析URL 查询字符串,在这里记录一下。以下是本篇文章正文内容,下面案例可供参考
一、查询字符串是什么?
查询字符串是指在URL的末尾加上用于向服务器发送信息的字符串。将"?"放在URL的末尾,然后再加上“参数=值”,想加上多个参数的话,使用“&”。以这个形式,可以将想要发送给服务器的数据添加到URL中。
二、步骤说明
1.代码核心方法讲解
本例代码核心方法如下:
//创建一个新的URL对象(我们需要URL对象的searchParams属性)
var reqUrl = new URL(request.url, "http://127.0.0.1:8081/");
//将URL对象的searchParams属性转换成字符串(目的是获取查询字符串)
reqUrl.searchParams.toString()
//querystring.parse()方法将查询字符串解析为键值对的集合
var userInfo = querystring.parse(reqUrl.searchParams.toString());
/*
例如,查询字符串 'foo=bar&abc=xyz&abc=123' 会被解析为:
{
foo: 'bar',
abc: ['xyz', '123']
}
*/
2.代码实例
代码如下:
const http = require("http");
const querystring = require("querystring");
http.createServer(function (request, response) {
response.writeHead(200, { "Content-Type": "text/plain" });
if (request.url != "/favicon.ico") {
var reqUrl = new URL(request.url, "http://127.0.0.1:8081/");
var userInfo = querystring.parse(reqUrl.searchParams.toString());
console.log(`姓名:${userInfo.name},年龄:${userInfo.age},性别:${userInfo.sex}`);
}
response.end("Hello World");
}).listen(8081);
console.log("Server running at http://127.0.0.1:8081/");
3.运行步骤
运行服务器
浏览器输入地址
解析结果
总结
以上就是Node.js解析URL查询字符串的方法,有错误或更方便的方法可以留言告知。