原生nodejs解析get和post参数方法


通过get和post方式获取提交的表单数据

  1,通过get方法,解析参数:

  通过get方法请求解析参数,通过nodejs原生内置模块url的url.parse()方法,将get请求的url传入,url.parse()方法会自动解析URL路径;

 

//导入http模块
const http = require('http')    
//导入url模块,获取get请求参数
const url = require('url')
//创建服务器

const server = http.createServer()

//开启服务器
server.on('request', (req, res) => {

//通过url.parse()方法,将get请求的URL传入
    
    var params = url.parse(req.url,true).query;//加上true参数表示返回json数据格式,否则默认为字符串,
    console.log(params);
  
})
server.listen(8080, () => {
    console.log('http://127.0.01:8080/user');
})

url.parse()可以将一个完整的URL地址以JSON对象 返回,里面都是get请求方式的相关信息,代码如下:

var url=require('url');
var path="http://localhost:8888/index?name=bob&password=123456";
var query=url.parse(path);
console.log(query);

 

 对比得知,url.parse(path,true);加了true 后 ,JSON对象的 query中的query 由原来的字符串变成了对象,这在Node的官方文档也有说:

 

 

 2,通过POST方法,解析参数:

//导入http模块

var http = require('http');

//导入querystring内置模块,解析post请求参数

var querystring = require('querystring');

http.createServer(function(req, res){

    // 定义了一个post变量,用于暂存请求体的信息
    var post = '';     
 
    // 通过req的data事件监听函数,每当接受到请求体的数据,就累加到post变量中
    req.on('data', function(chunk){    
        post += chunk;
    });
 
    // 在end事件触发后,通过querystring.parse将post解析为真正的POST请求格式,然后向客户端返回。
    req.on('end', function(){    
        post = querystring.parse(post);
        res.end(util.inspect(post));
    });
}).listen(3000);

 

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM