三种方法解析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);

Node.js笔记 请求方式 GET的更多相关文章

  1. node.js启动调试方式

    node.js启动调试方式(nodeJs不能像js一样在控制台调试) 以express项目为例,启动路径是localhost:3000 一.通过node命令启动 node server/bin/www ...

  2. Node.js笔记1

    Node.js入门笔记 1. node -help 可以显示帮助信息2. node REPL 模式(Read-eval-print loop) 输入—求值—输出循环 直接在cmd输入node 可以进入 ...

  3. node.js笔记

    在node环境上面运行js代码,js相当于php,node相当于apache环境 第一步装 node 环境1.从官网下载 dmg 文件安装2.通过命令行安装 需要用到 homebrew(mac上专门用 ...

  4. Node.js笔记4

    4. 文件系统 fs fs模块是文件操作的封装,提供了同步跟异步操作2个版本 * fs.readFile(filename,[encoding],[callback(err,data)]) 是最简单的 ...

  5. Node.js笔记2

    入门二 5. 事件 Node.js中所有的异步I/O操作完成时都会发送一个事件到事件队列. Events 事件模块 `events.EventEmitter` 简单用法: var EventEmitt ...

  6. node.js获取请求参数的方法和文件上传

    var http=require('http') var url=require('url') var qs=require('querystring') http.createServer(onRe ...

  7. Node.js 笔记02

    一.关于命令 常用命令: dir 列出当前目录下面所有的文件 cd 目录名 进入到指定的目录,. 当前目录, .. 进入上级目录,cd . 当前目录, cd .. 上级目录 md 目录名 创建文件夹 ...

  8. node.js 笔记(一)

    参考:https://github.com/alsotang/node-lessons 感谢!!! 本文属于小白入门级笔记,请大牛自动屏蔽!!! 1.     开发环境 os: 10.12.6 nod ...

  9. node.js 笔记

    教程总结笔记: 学习网站:http://www.runoob.com/nodejs/nodejs-install-setup.html Node.js 中文网及安装文件下载: http://nodej ...

随机推荐

  1. Swift学习笔记(11)--类与结构体

    类与结构是编程人员在代码中会经常用到的代码块.在类与结构中可以像定义常量,变量和函数一样,定义相关的属性和方法以此来实现各种功能. 和其它的编程语言不太相同的是,Swift不需要单独创建接口或者实现文 ...

  2. Docker学习总结(6)——通过 Docker 化一个博客网站来开启我们的 Docker 之旅

    通过 Docker 化一个博客网站来开启我们的 Docker 之旅 这篇文章包含 Docker 的基本概念,以及如何通过创建一个定制的 Dockerfile 来 Docker 化Dockerize一个 ...

  3. redis练习手册<二>快速入门

    Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案. Redis从它的许多竞争继承来的三个主要特点: Redis数据库完全在内存中,使用磁盘仅用 ...

  4. Java 实现策略(Strategy)模式

    策略模式:行为型模式 将同一行为,不同的处理算法分别封装起来.让它们之间能够互相替换 1. 定义一个超类型接口,及 行为方法 2. 定义不同的实现类,实现该行为的 不同的算法 /** * 策略模式:针 ...

  5. jquery的ajax总结

    jquery的ajax总结 一.总结 一句话总结:ajax函数中层级关系如下: 最底层的封装方式: $.ajax(); 第二层: .load(),$.get(), $.post() 最高层: $.ge ...

  6. rtmp,rtsp,hLS区别

    流媒体协议一共三种:rtmp,rtsp,http live streaming(apple和adobe各一种)rtmp是adobe的,rtsp android native支持,http live s ...

  7. java knowledge record

    javax.accessibility.Accessible       给予private  或者 final 变量可以改变的机会

  8. axel---下载工具

    axel是Linux下一个不错的HTTP/ftp高速下载工具.支持多线程下载.断点续传,且可以从多个地址或者从一个地址的多个连接来下载同一个文件.适合网速不给力时多线程下载提高下载速度.比如在国内VP ...

  9. Selenium爬取淘宝商品概要入mongodb

    准备: 1.安装Selenium:终端输入 pip install selenium 2.安装下载Chromedriver:解压后放在…\Google\Chrome\Application\:如果是M ...

  10. C# WinForm设置透明

    1:通过设置窗体的 TransparencyKey实现  例:窗体中的白色会变成透明      this.BackColor =Color.White; this.TransparencyKey = ...