原生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