Node.js----(十二)请求参数

80 阅读2分钟
上一章我们已经搭建了属于自己的服务器,本章将讲述请求参数和路由

关键词

 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')

这时输入端口号,我们可以在浏览器看到:

image.png

源代码

image.png

image.png