get 和 post 请求参数
get(请求数据)
get参数被放置在地址栏中
例如: http://localhost:3000/?name=zhangsan&age=20.
get参数以?开头,多个参数之间以&符号分隔.
get参数获取需要借助URL模块,用来处理URL地址
// 先导入http 模块 和 url模块
const http= require("http");
const url = require("url");
// 创建服务器
let app = http.createServer();
// 注册请求事件 回调函数有两个参数,第一个参数表示请求,第二个参数表示响应
app.on("request",(req,res)=>{
// req.url 获取请求地址 url.parse获取url对象 ,对象内的query属性的值为get参数,为字符串类型,第二个参数为true时为对象形式
// let my_url = url.parse(req.url,true);
let {query} = url.parse(req.url, true); //对象形式的get参数
res.end("ok");
})
// 端口号
app.listen(3000);
console.log("服务器启动成功");
console.log(url)的值
post(发送数据)
1.参数被放置在请求体中进行传输
2.获取POST参数需要使用data事件和end事件
3.使用querystring系统模块将参数转换为对象格式
// 导入系统模块querystring 用于将HTTP参数转换为对象格式
const querystring = require('querystring');
app.on('request', (req, res) => {
let postData = '';
// 监听参数传输事件
req.on('data', (chunk) => postData += chunk;);
// 监听参数传输完毕事件
req.on('end', () => {
console.log(querystring.parse(postData)); // 直接得到对象函数
});
});