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