三种方法解析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. 原生ajax实现方式

    http://www.cnblogs.com/rubylouvre/archive/2013/01/08/2851051.html <!DOCTYPE html> <html lan ...

  2. .net开源CMS

    提起开源cms,大家第一想到的是php的cms,因为php开源的最早,也最为用户和站长们认可,随着各大cms系统的功能的不断完善和各式各样的开源cms的出现,.net和java的高端的cms系统也逐渐 ...

  3. Ace在线编辑器使用requirejs配置

    Ace代码在线编辑器如果需要在requirejs里使用,注意需要使用github上lib/ace目录的文件. 如果使用ajaxorg/ace-builds下面的代码再使用requirejs会报错,不能 ...

  4. angularjs 页面缓存及动态刷新解决方案

    一.准备工作 框架:angularjs ui组件库:ionic1 二.页面缓存cache 路由设置cache参数,true为缓存,false为不缓存,代码如下: angular.module('app ...

  5. Django and Scrapy 用法图片

  6. PHP保留两位小数

    1.不四舍五入 $number = 23.43453;$english_format_number = number_format($number, 2, '.', '');echo $english ...

  7. OSX: 禁止iCloud钥匙链?

    自从10.9有了一个新的功能叫viewlocale=zh_CN">iCloud钥匙串的,就出现了不少的麻烦.一是在10.9.3之前.好多人出现无限循环地要求用户输入Local item ...

  8. jquery20--animate() : 运动的方法

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  9. .Net接口调试与案例

    1.通过查看日志,可以看出问题的原因. 2.断点调试. 3.本地测试,确保无误后,线上测试. 4.输出测试. 通过get的方式,测试接口. // [HttpPost] public ActionRes ...

  10. vue绑定内联样式

    v-bind:style 的对象语法十分直观--看着非常像 CSS ,其实它是一个 JavaScript 对象. CSS 属性名可以用驼峰式(camelCase)或短横分隔命名(kebab-case) ...