HTTP请求与响应处理
GET请求参数
- 参数被放置在浏览器地址栏中,例如:
http://localhost:3000/?name=zhangsan&age=20
- 参数获取需要借助系统模块
url
,url模块用来处理url地址
// 引用系统模块
const http = require('http');
// 导入url系统模块 用于处理url地址
const url = require('url');
// 创建web服务器
const app = http.createServer();
// 当客户端发送请求的时候
app.on('request', (req, res) => {
// 将url路径的各个部分解析出来并返回对象
// true 代表将参数解析为对象格式
let { query } = url.parse(req.url, true);
//向浏览器响应数据
res.send(query)
});
// 监听3000端口
app.listen(3000);
console.log('服务器启动成功!')
打开浏览器输入地址http://localhost:3000/?name=zhangsan&age=20
POST请求参数
- 参数被放置在请求体中进行传输
- 获取
POST
参数需要使用data
事件和end
事件 - 使用
querystring
系统模块将参数转换为对象格式
// 导入系统模块querystring 用于将HTTP参数转换为对象格式
const querystring = require('querystring');
app.on('request', (req, res) => {
let postData = '';
// 监听参数传输事件
req.on('data', (params) => postData += params;);
// 监听参数传输完毕事件
req.on('end', () => {
console.log(querystring.parse(postData));
});
});