1.引入url模块
var url=require("url");
2.url.parse(urlString[, parseQueryString])
- urlString 前端发送的请求地址
- parseQueryString 处理query ,如果为true ,则把它处理为对象。如果为false,则不进行处理,依旧是字符串。
示例:
前端给服务器发送请求
<form action="http://localhost:8080/aaa" method="GET">
<input type="text" name="username">
<input type="submit" value="登录">
</form>
后端进行处理,req就是request(客服端像服务端发送请求),res就是respond (服务端返回信息)
var http=require('http');
var url=require("url");
http.createServer((req,res)=>{
//req.url 接收的地址
console.log(url.parse(req.url,true))
}).listen(8080)
处理的地址:
image.png
3. querystring.parse()
将url后面的查询字符串(参数)解析为键值对的集合。例如查询字符串 'foo=bar&abc=xyz&abc=123' 被解析为:
{
foo: 'bar',
abc: ['xyz', '123']
}
示例
const http=require('http');
const querystring=require("querystring");
http.createServer((req,res)=>{
console.log("method:",req.method) //GET
const url=req.url;
console.log("url",url);
req.query=querystring.parse(url.split("?")[1]);
console.log("query",req.query);
res.end(JSON.stringify(req.query))
}).listen(8080)
在浏览器中发送请求
image.png
输出内容
image.png
网友评论