const express = require('express');
const querystring = require('querystring');
const app = express();
app.listen(8080); <以上基本是必写的>
//路由:用户响应文件(get /search)
app.get('/search',(req,res)=>{
res.sendFile(__dirname+'/search.html');
});
//添加路由,响应按钮提交请求(get /mysearch),响应搜索成功
app.get('/mysearch',(req,res)=>{
//console.log(req.url,req.method);//后台显示url中的查询字符串数据
console.log(req.query);//用框架内的api直接获取用户输入的值
res.send('搜索成功');
});
//响应文件路由get /login
app.get('/login',(req,res)=>{
res.sendFile(__dirname+'/login.html')
});
//接收按钮提交请求get /mylogin
app.get('/mylogin',(req,res)=>{
console.log(req.query);
res.send('登陆成功');//点提交按钮后,发送给用户看的值
})
//流传递
app.post('/mylogin',(req,res)=>{
//获取post请求的数据,采用流的方式传递,分成多段,通过事件获取
req.on('data',(chunk)=>{
//chunk 传递的一段数据
console.log(chunk.toString());
//转字符串后的格式为查询字符串,需要解析为对象
let obj = querystring.parse(chunk.toString());
console.log(obj);
});
res.send('post方法请求成功');
});
//路由传参 路由get /package
app.get('/package/:pname',(req,res)=>{
console.log(req.params);
res.send('这是包的详情介绍');
});
//练习:添加到购物车路由get /shopping,传递商品的编号lid和购买的数量num,
//最后响应 编码:xxx 数量:xxx
app.get('/shopping/:lid/:num',(req,res)=>{
console.log(req.params);
res.send(`
编号: ${req.params.lid} <br>
数量: ${req.params.num} <br>
`)
});