Nodejs系列之请求参数获取


一、GET请求参数

  • 参数被放置在浏览器地址栏中,例如http://localhost:90/?name=zhangsan&age=30
  • 参数获取需要借助系统模块 url,url模块用来处理url地址

1、url.parse(urlString[, parseQueryString[, slashesDenoteHost]])

URL .parse()方法接受一个URL字符串,解析它并返回一个URL对象。

1.1、参数

  • urlString:要解析的字符串url
  • parseQueryString:如果为true,则query属性将始终设置为querystring模块的parse()方法返回的对象。如果为false,则返回URL对象上的query属性将是一个未解析、未解码的字符串。默认值:false。
  • slashesDenoteHost:如果为true,则字面字符串//之后和下一个/之前的第一个标记将被解释为主机。例如,给定//foo/bar,结果将是{host: ‘foo’, pathname: ‘/bar’}而不是{pathname: ‘//foo/bar’}。默认值:false。

1.2、异常

如果urlString不是字符串,则抛出TypeError。
如果auth属性存在但无法解码,则抛出URIError。

1.3、示例

// query请求参数
// pathname路径名
const {
    
     query, pathname } = url.parse(req.url, true);

二、POST请求参数

  • 参数被放置在请求体中进行传输
  • 获取POST参数需要使用data事件和end事件
  • 使用querystring系统模块将参数转化为对象格式

1、data

  • chunk:<Buffer> | <string> | <any> 数据块。对于不是在对象模式下运行的流,块将是字符串或Buffer。对于处于对象模式的流,块可以是除null之外的任何JavaScript值。

2、end

当流中没有更多的数据要使用时,就会触发’end’事件。

3、querystring.parse(str[, sep[, eq[, options]]])

querystring.parse()方法将URL查询字符串(str)解析为键和值对的集合。

3.1、参数

  • str:string 要解析的URL查询字符串
  • sep:string 用于在查询字符串中分隔键和值对的子字符串。默认值:“&”。
  • eq:string 用于在查询字符串中分隔键和值的子字符串。默认值:“=”。
  • options:object
  • decodeURIComponent:Function 在解码查询字符串中按百分比编码的字符时使用的函数。默认值:querystring.unescape ()。
  • maxkeys:number 指定要解析的键的最大数目。指定0以取消键计数限制。默认值:1000。

3.2、示例

const http = require("http");
const querystring = require("querystring");
const app = http.createServer();
app.on("request", (req, res) => {
    
    
	let postData = "";
	req.on("data", chunk => (postData += chunk));
	req.on("end", () => {
    
    
		console.log(querystring.parse(postData));
	});
	res.end("FELaoL");
});
app.listen(90);

写在最后

如果你感觉文章不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果你觉得该文章有一点点用处,可以给作者点个赞;\\*^o^*//
如果你想要和作者一起进步,可以微信扫描二维码,关注前端老L~~~///(^v^)\\\~~~
谢谢各位读者们啦(^_^)∠※!!!

猜你喜欢

转载自blog.csdn.net/weixin_62277266/article/details/127062877
今日推荐