Node.js解析URL查询字符串

本文介绍了在Node.js中如何解析URL查询字符串,包括查询字符串的定义,使用URL对象的searchParams属性,以及querystring模块的parse方法将查询字符串转换为键值对。通过示例代码展示了如何处理和打印查询参数。
摘要由CSDN通过智能技术生成


前言

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查询字符串的方法,有错误或更方便的方法可以留言告知。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值