如何改写Node环境下的get数据解析代码为长尾?
- 内容介绍
- 文章标签
- 相关推荐
本文共计456个文字,预计阅读时间需要2分钟。
javascript
1.自写 + const http=require('http');
2.http.createServer(function(req, res) {
3.var get={};
4.if (req.url.indexOf('/') !==-1) {
5.var arr=req.url.split('/');
6.var url=arr[0];
7.var arr2=arr[1].split('?');
8.for (var i=0; i
9.var arr3=arr2[i].split('=');
10.get[arr3[0]]=arr3[1];
11.}
12.}
13.});
1、自己写
const localhost:8080/aaa" method="get"> 用户:<input type="text" name="user" value=''><br> 密码:<input type="password" name="pass" value=''><br> <input type="submit" value="提交"> </form> </body> </html>
个人练习如下:
const http = require("http"); const queryString = require("querystring"); const urlNode = require('url'); http.createServer((req,res)=>{ console.log(req.url); // /aaa?user=123&pass=456 var get = {}; var url = ''; if(req.url.indexOf('?') != -1){ //方法一:切割字符串 // var _arr = req.url.split('?'); //['aaa','user=123&pass=456'] // url = _arr[0]; //'aaa' // var _arr2 = _arr[1].split('&'); //['user=123','pass=456'] // _arr2.map((v,k,arr)=>{ // var key = v.split('=')[0]; // var value = v.split('=')[1]; // get[key] = value; // }) //方法二:正则表达式 // var query = req.url.substr(req.url.indexOf('?')+1); // var regAll = new RegExp("([^?&=]+)=([^?&=]*)", "gi"); // var regSingle = new RegExp("([^?&=]+)=([^?&=]*)", "i"); // var arrAll = query.match(regAll); //["user=123", "pass=456"] // arrAll.map(function(v,k,arr){ // var resultArr = v.match(regSingle); // get[resultArr[1]] = resultArr[2]; // }) //方法三:引入querystring模块 // const arr = req.url.split('?'); // url = arr[0]; // get = queryString.parse(arr[1]); //方法四: // const obj = urlNode.parse(req.url,true); // url = obj.pathname; // get = obj.query; }else{ url = req.url; } console.log(url,get); res.write('123456') res.end('12') }).listen(8000)
以上都 是原生node实现:
下面的是express中 req.query 就可以方便的取到 { id 123456}
app.get('/article',(req,res)=>{ console.log(req.query) })
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。
本文共计456个文字,预计阅读时间需要2分钟。
javascript
1.自写 + const http=require('http');
2.http.createServer(function(req, res) {
3.var get={};
4.if (req.url.indexOf('/') !==-1) {
5.var arr=req.url.split('/');
6.var url=arr[0];
7.var arr2=arr[1].split('?');
8.for (var i=0; i
9.var arr3=arr2[i].split('=');
10.get[arr3[0]]=arr3[1];
11.}
12.}
13.});
1、自己写
const localhost:8080/aaa" method="get"> 用户:<input type="text" name="user" value=''><br> 密码:<input type="password" name="pass" value=''><br> <input type="submit" value="提交"> </form> </body> </html>
个人练习如下:
const http = require("http"); const queryString = require("querystring"); const urlNode = require('url'); http.createServer((req,res)=>{ console.log(req.url); // /aaa?user=123&pass=456 var get = {}; var url = ''; if(req.url.indexOf('?') != -1){ //方法一:切割字符串 // var _arr = req.url.split('?'); //['aaa','user=123&pass=456'] // url = _arr[0]; //'aaa' // var _arr2 = _arr[1].split('&'); //['user=123','pass=456'] // _arr2.map((v,k,arr)=>{ // var key = v.split('=')[0]; // var value = v.split('=')[1]; // get[key] = value; // }) //方法二:正则表达式 // var query = req.url.substr(req.url.indexOf('?')+1); // var regAll = new RegExp("([^?&=]+)=([^?&=]*)", "gi"); // var regSingle = new RegExp("([^?&=]+)=([^?&=]*)", "i"); // var arrAll = query.match(regAll); //["user=123", "pass=456"] // arrAll.map(function(v,k,arr){ // var resultArr = v.match(regSingle); // get[resultArr[1]] = resultArr[2]; // }) //方法三:引入querystring模块 // const arr = req.url.split('?'); // url = arr[0]; // get = queryString.parse(arr[1]); //方法四: // const obj = urlNode.parse(req.url,true); // url = obj.pathname; // get = obj.query; }else{ url = req.url; } console.log(url,get); res.write('123456') res.end('12') }).listen(8000)
以上都 是原生node实现:
下面的是express中 req.query 就可以方便的取到 { id 123456}
app.get('/article',(req,res)=>{ console.log(req.query) })
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

