上一章我们已经搭建了属于自己的服务器,本章将讲述请求参数和路由
关键词
require 导入模块
request 接收 请求
response 响应
parse 分析
当我们的用户向服务器发送一个请求时,该请求往往会携带一些数据,例如用户名,年龄,密码...然而我们往往需要将这些数据做一些处理,这时候我们就会请求参数
上代码
//1.引入模块
const http = require ('http');//引入http模块
const url = require('url');//引入url模块
//2.调用方法,创建服务器
const app = http.createServer();
//4.客户端发送请求,触发request事件
app.on('request',(request,response)=>{
console.log('用户在客户端发送了一个请求,快响应!');
// 收到请求, 里面携带了数据-- - 参数, 格式是:? 名1 = 值 & 名2 = 值2....
// 例:?user= linhan&psd=1213
// 方法1: 使用字符串的方法, 将usl处理为数组, 再遍历数据-- - 分割, 依次添加到对象中
//const strURL = responst.strurl;
//const.log(steURL)
// 方法2:引入url的模块,使用这个模块的parse方法,该方法返回一个对象
// 对象的query属性的值就是参数的对象格式
// url.parse(要解析的url字符串,参数2,参数3)
//参数1必传,参数2和3都是布尔值,选传,第二个参数传true,表示返回的url对象中的query属性
let { query } = url.parse(responst,url,true);
//响应报文头部,确定响应的数据类型
response.writeHead(200,{
//告诉客户端,响应的数据类型是html文件,使用utf-8的格式进行编码
'Content-Type':'text/html;charset=utf-8';
});
//响应 收到1个请求必须要有响应 end的方法必须也要有
// response.end('<h1>Hollow World</h1>') //可以正常显示在页面
response.end(`
<h1>用户林寒发送一条请求,
请求方式:${parse.method},
访问路径:${parse.url},
携带参数:${JSON.stringify(query)}
</h1>`//没有设置响应报文头部里的内容类型时,是乱码,设置好后才可以正常显示
)}
//3.监听端口 启动服务
app.listen(3001,()=>{
console.log('浏览器地址栏输入端口号:localhost:3001')