欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

http -请求(get和post)

程序员文章站 2022-04-15 17:42:12
...

GET

  • 我们根据请求方式判断是否是GET方式的请求,并且根据前请求的url(即接口地址)判断是否是该接口,如果满足条件,则做出响应。
    // 1.导入模块
    const http = require(“http”);
    const qs = require(“querystring”);

    // 2.创建server对象
    const server = http.createServer();

    // 3.占用端口3000
    server.listen(3000, function() {
    console.log(“服务启动在3000端口”);
    });

    // 4.设置请求事件
    server.on(“request”, function(req, res) {
    console.log(req.url);

    // 目标:先能获取到前端传递参数!
    //       获取到数据;存入数据库;MySQL
    let arr = req.url.split("?");
    
    let str = arr[1]; // name=zs&age=18
    
    // 上午:qs  queryString;
    let obj = qs.parse(str);
    console.log(obj);
    
    
    // 没有设计接口:任何请求都返回下面:
    res.end("125deme")
      })
    

POST

  • 如果客户端使用POST方式向服务器发送了一次请求,又该如何处理呢?

  • 重点:POST请求一般会提交数据给服务器,所有接口要做的事情就是如何接收这些数据。

  • 代码:

      	// 1.导入模块
      	const http = require("http");
      	const qs = require("querystring");
      
      
      // 2.创建server对象
      const server = http.createServer();
      
      
      // 3.占用端口3000
      server.listen(3000, function() {
        console.log("服务启动在3000端口");
      });
      
      
      // 4.设置请求事件
      server.on("request", function(req, res) {
      
      
        // get请求参数:在url后面  分隔url地址,qs.parse
        // posr请求参数:请求体    req.on data/end  获取数据,qs.parse
        // 注册两个事件:
        //   data  : 正在接受数据的时候执行!
        let str = "";
        req.on("data", function(chunk) {
          // abc:正在接受一段一段数据;
          str += chunk;
        });
      
        //   end   :接受数据完成后执行;
        req.on("end", function() {
          //console.log(str); // 名=值&名=值
          let obj = qs.parse(str);
          console.log(obj);
        });
      
        // 没有设计接口:任何请求都返回下面:
        res.end("125deme")
      })
    
相关标签: Node node.js