三种方法解析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. 使用form-create动态生成vue组件

    使用form-create动态生成vue自定义组件和嵌套表单组件 [github] | [说明文档] 示例 let rule = [ { type:'row', children:[ { type:' ...

  2. Mark Compact GC (Part one: Lisp2)

    目录 什么是GC 标记-压缩算法 Lisp2 算法的对象 概要 步骤 步骤一:设定forwarding指针 步骤二:更新指针 步骤三:移动对象 优缺点 什么是GC 标记-压缩算法 需要对标记清除和GC ...

  3. pwd---以绝对路径的方式显示用户当前工作目录

    pwd命令以绝对路径的方式显示用户当前工作目录.命令将当前目录的全路径名称(从根目录)写入标准输出.全部目录使用/分隔.第一个/表示根目录,最后一个目录是当前目录.执行pwd命令可立刻得知您目前所在的 ...

  4. 【VC++学习笔记三】控件自绘

    MFC应用程序中,大部分的控件类型都已经被定制好了,即便是修改,也只是小范围内的修改,而很多情况下,我们又需要对界面进行特殊定制,这时,最好的办法就是用CWnd类进行派生,自己生成新的窗体,在WM_P ...

  5. [UnityUI]循环滑动列表

    效果图: 使用的是UGUI和DOTween 当中比較关键的是循环滑动和层次排序: 1.循环滑动:这里先如果显示五张图片.分别标记为0,1,2,3,4,那么当向左滑动时,序列就变为1,2,3,4,0,这 ...

  6. 56.lambda表达式与绑定以及伪函数和绑定

    #include <iostream> #include <functional> using namespace std; using namespace std::plac ...

  7. ElasticSearch vs 关系型数据库

    它们之间的关系,如下图所示.

  8. 经典的横线中间文字css布局---flex布局

    html: <div class="title"> <div class="line"></div> <div cla ...

  9. JavaScript翻译成Java

    这两天公司有一个需求,将一段加密的JavaScript代码转换为JAVA版. JavaScript中的某一段代码: 前期查看了整个JavaScript代码,发现代码中,方法里面嵌套方法,各种不合规的变 ...

  10. C# 将引用的DLL文件放到指定的目录下

    原文:C# 将引用的DLL文件放到指定的目录下 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/sweety820/article/details/2 ...