三种方法解析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. Copying GC (Part one)

    目录 GC复制算法 copy()函数 将传递给自己的参数复制,然后递归复制其孩子 new_obj()函数 执行过程 缺点 Cheney的GC复制算法 copy()函数 执行过程 被隐藏的队列 优缺点 ...

  2. Eclipse+PyDev解决中文输入和注释问题

    Eclipse的设置 window->preferences->general->editors->text editors->spelling->encoding ...

  3. Linux下使用fstatfs/statfs查询系统相关信息

    Linux下使用fstatfs/statfs查询系统相关信息 1.   功能 #include < sys/statfs.h > int statfs(const char *path, ...

  4. Scott Hanselman的问题-2

    .Net程序员面试 每个人都应知道篇 (回答Scott Hanselman的问题)   昨天回答了Scott Hanselman在他清单上关于C#那部分的题目,.Net 程序员面试 C# 语言篇 (回 ...

  5. javafx Hanoi

    Netbean  java8    source code  :http://files.cnblogs.com/files/rojas/HNT.zip screenshot: 1  model /* ...

  6. Whitening

    The goal of whitening is to make the input less redundant; more formally, our desiderata are that ou ...

  7. Spring--之旅

    spring的地位 如图可以看出,sping纵跨整个项目架构,它是一个容器框架.下面使用一个简单的项目来认识spring. 快速入门 step 1.新建一个普通Java工程,spring只是一种容器, ...

  8. WPF框架ZFS

    前文 项目开源地址(非正式版,开发版本), 码云Gitee地址:  https://gitee.com/zhgg666/publicWpf XAML XAML能帮助团队真正实现UI与逻辑的剥离.XAM ...

  9. Font-Awesome最新版完整使用教程

    何为Font-Awesome Font Awesome gives you scalable vector icons that can instantly be customized - size, ...

  10. POJ 2481 Cows (线段树)

    Cows 题目:http://poj.org/problem?id=2481 题意:有N头牛,每仅仅牛有一个值[S,E],假设对于牛i和牛j来说,它们的值满足以下的条件则证明牛i比牛j强壮:Si &l ...