文章の目录
一、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^)\\\~~~
谢谢各位读者们啦(^_^)∠※
!!!