nodeJS从入门到放弃(三)服务器处理请求之GET

最常用的接口请求方式是GET和POST,GET请求的参数是放在url中的,本篇来总结一下nodeJs对GET请求参数的处理方法

准备

创建一个html文件

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <form action="http://localhost:8080/aaa" method="get">
      用户:<input type="text" name="user" value=""><br>
      密码:<input type="password" name="pass" value=""><br>
      <input type="submit" value="提交">
    </form>
  </body>
</html>

1、初级:手写

创建node文件server.js

const http=require('http');

http.createServer(function (req, res){
  var GET={};

  if(req.url.indexOf('?')!=-1){
    var arr=req.url.split('?');
    //arr[0]=>地址  '/aaa'
    var url=arr[0];
    //arr[1]=>数据  'user=blue&pass=123456'

    var arr2=arr[1].split('&');
    //arr2=>['user=blue', 'pass=123456']

    for(var i=0;i<arr2.length;i++){
      var arr3=arr2[i].split('=');
      //arr3[0]=>名字   'user'
      //arr3[1]=>数据   'blue'
      GET[arr3[0]]=arr3[1];
    }
  }else{
    var url=req.url;
  }


  console.log(url, GET);

  //req获取前台请求数据
  res.write('aaa');
  res.end();
}).listen(8080);

2、中级:使用querystring模块

const http=require('http');
const querystring=require('querystring');

http.createServer(function (req, res){
  var GET={};

  if(req.url.indexOf('?')!=-1){
    var arr=req.url.split('?');
    var url=arr[0];

    GET=querystring.parse(arr[1]);
  }else{
    var url=req.url;
  }


  console.log(url, GET);

  //req获取前台请求数据
  res.write('aaa');
  res.end();
}).listen(8080);

3、高级:使用url模块

const http=require('http');
const urlLib=require('url');

http.createServer(function (req, res){
  var obj=urlLib.parse(req.url, true);

  var url=obj.pathname;
  var GET=obj.query;

  console.log(url, GET);

  //req获取前台请求数据
  res.write('aaa');
  res.end();
}).listen(8080);

一个更完善的nodeJS服务器雏形了解更多

猜你喜欢

转载自blog.csdn.net/qq_31393401/article/details/80257739
今日推荐