zoukankan      html  css  js  c++  java
  • Node.js笔记 请求方式 GET

    三种方法解析url

    1. 传统的字符串split切割方法

    2. querystring     只能解析数据部分,不能解析前面 index.html之类的地址部分。

    3. url   可以解析地址和数据。 注意给个参数true。

    split字符串分割方法解析url

    const http=require('http');
    
    http.createServer(function (req, res){
      var GET={};  // json
    
      if(req.url.indexOf('?')!=-1){
        
      // indexOf('?')    
      // 查找字符串 ‘?’ 是否在url里存在。 返回值是数字。
      // 不存在=> 返回 -1 
      // 存在 => 返回'?' 在 url里第一次出现的位置。 比如在第三位,返回2
    
        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];   // 给Json赋值。这里是把 . 点号换成了 [ ] 
          // 等同于如下示例:
          // var jsonStr = {};
          // jsonStr.id = id;
          // jsonStr.name = name;
        }
      }else{
        var url=req.url;
      }
    
    
      console.log(url, GET);
    
      //req获取前台请求数据
      res.write('aaa');
      res.end();
    }).listen(8080);

    querystring方法 解析url

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

    url 方法 解析url

    const http=require('http');
    const urlLib=require('url');
    
    http.createServer(function (req, res){
      var obj=urlLib.parse(req.url, true);  //注意要给个参数 true,这样会自动解析成需要的格式
    
      var url=obj.pathname;
      var GET=obj.query;
    
      console.log(url, GET);
    
      //req获取前台请求数据
      res.write('aaa');
      res.end();
    }).listen(8081);
  • 相关阅读:
    HDU 1232 (畅通工程) 并查集经典模板题
    (POJ
    Gitlab利用Webhook实现Push代码后的jenkins自动构建
    Jenkins 配置git
    Jenkins安装及基本配置(Linux版,使用web容器 tomcat 搭建)
    Gitlab安装、汉化及使用
    ssh 免密码登录(设置后仍需输密码的原因及解决方法)
    appium1.4版本,每次运行appium时需要安装unlock,setting文件的解决方法
    jmeter完成md5加密的接口请求参数
    jmeter插件使用说明
  • 原文地址:https://www.cnblogs.com/carpenterzoe/p/10262730.html
Copyright © 2011-2022 走看看