一、引入http模块后,get请求传递的参数保存到了request对象中的url属性中。
注意:http模块只能发送get请求。
let http = require('http');
let fs = require('fs');
// req.url的方法 /index?age=22&name=张三&sex=男
http.createServer((req,res)=>{
//引入http模块时,get请求参数保存在request对象的url属性中
let path = req.url;
res.end(path.age)
}).listen(8000,()=>{
console.log("Running... 请访问:http://localhost:8000")
})
二:引入URL模块后,get请求的参数保存在URL对象中的query属性中。
let http = require('http');
let fs = require('fs');
let urlObj = require('url');
// 核心模块 url
// 作用:把请求的地址转换城URL的对象,这个对象中有属性可以保存路径,
// 【pathName】保存接口名称
// 【query】 保存请求参数
// /index?age=22&name=张三&sex=男
http.createServer((req,res)=>{
// urlObj 获取的是请求路径
// 参数一:字符串格式的路径
// 参数二:是否自动把字符串转对象 true/false
let obj = urlObj.parse(req.url,true)
res.end(obj.age)
}).listen(8000,()=>{
console.log("Running... 请访问:http://localhost:8000")
})
三、在express框架中,get请求传递参数,保存到了request对象中的query属性中。
app.get("/api/user",(req, res) => {
console.log(req.query);
res.send("获取到了数据");
});
四、在express框架中,post请求传递参数,保存到了request对象中的boby属性中。
// 内置解析器,用来解析post请求传递的数据
app.use(express.json());
app.use(express.urlencoded({extended:true}));
app.post("/api/post",(req, res) => {
console.log(req.body)
res.send("获取到了数据");
});