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);

浙公网安备 33010602011771号