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);
Node.js笔记 请求方式 GET的更多相关文章
- node.js启动调试方式
node.js启动调试方式(nodeJs不能像js一样在控制台调试) 以express项目为例,启动路径是localhost:3000 一.通过node命令启动 node server/bin/www ...
- Node.js笔记1
Node.js入门笔记 1. node -help 可以显示帮助信息2. node REPL 模式(Read-eval-print loop) 输入—求值—输出循环 直接在cmd输入node 可以进入 ...
- node.js笔记
在node环境上面运行js代码,js相当于php,node相当于apache环境 第一步装 node 环境1.从官网下载 dmg 文件安装2.通过命令行安装 需要用到 homebrew(mac上专门用 ...
- Node.js笔记4
4. 文件系统 fs fs模块是文件操作的封装,提供了同步跟异步操作2个版本 * fs.readFile(filename,[encoding],[callback(err,data)]) 是最简单的 ...
- Node.js笔记2
入门二 5. 事件 Node.js中所有的异步I/O操作完成时都会发送一个事件到事件队列. Events 事件模块 `events.EventEmitter` 简单用法: var EventEmitt ...
- node.js获取请求参数的方法和文件上传
var http=require('http') var url=require('url') var qs=require('querystring') http.createServer(onRe ...
- Node.js 笔记02
一.关于命令 常用命令: dir 列出当前目录下面所有的文件 cd 目录名 进入到指定的目录,. 当前目录, .. 进入上级目录,cd . 当前目录, cd .. 上级目录 md 目录名 创建文件夹 ...
- node.js 笔记(一)
参考:https://github.com/alsotang/node-lessons 感谢!!! 本文属于小白入门级笔记,请大牛自动屏蔽!!! 1. 开发环境 os: 10.12.6 nod ...
- node.js 笔记
教程总结笔记: 学习网站:http://www.runoob.com/nodejs/nodejs-install-setup.html Node.js 中文网及安装文件下载: http://nodej ...
随机推荐
- Vue或React多页应用脚手架
https://github.com/zhujiasheng/vue-multipage https://github.com/MeCKodo/vue-multipage
- input[type=date]
::-webkit-datetime-edit – 控制编辑区域的 ::-webkit-datetime-edit-fields-wrapper – 控制年月日这个区域的 ::-webkit-date ...
- opengl绘制三维人物luweiqi
素材中有四个.bmp格式的纹理文件和一个.txt的模型参数文件 文件格式说明: 纹理文件数量 纹理文件1(字符串)//.bmp 纹理文件2(字符串) 纹理文件3(字符串) . . . 材质数量 amb ...
- nginx编译安装选项说明
configure 脚本确定系统所具有一些特性,特别是 nginx 用来处理连接的方法.然后,它创建 Makefile 文件. configure 支持下面的选项: –prefix= <path ...
- 在XEN上启动guest时loopback设备不足
现象: 通常出现在用户挂载了多个img到guest上,会发现无法再创建guest或者无法启动guest的现象. /var/log/xen/xen-hot-plug.log中错误如下: xenstore ...
- php 内置的 html 格式化/美化tidy函数 -- 让你的HTML更美观
php 内置的 html 格式化/美化tidy函数 https://github.com/htacg/tidy-html5 # HTML 格式化 function beautify_html($htm ...
- WebGoat学习(一)--环境搭建
参考https://www.owasp.org/index.php/Category:OWASP_WebGoat_Project https://github.com/WebGoat/WebGoat ...
- vim-进入插入模式快捷键
vim中有一些命令,是同时包含有大小写两种的.现在就集中测试下他们的区别: 1.A 跟a A-光标所在行的末尾插入 a-光标后插入 2.I 跟i I-光标所在行的非空字符前插入 i-光标前位置 ...
- 洛谷P1722 矩阵 II
题目背景 usqwedf 改编系列题. 题目描述 如果你在百忙之中抽空看题,请自动跳到第六行. 众所周知,在中国古代算筹中,红为正,黑为负…… 给定一个1*(2n)的矩阵(usqwedf:这不是一个2 ...
- LBP 特征
LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子:它具有旋转不变性和灰度不变性等显著的优点.用于纹理特征提取.而且,提取的特征是图像的局部的纹理特征 ...