当前位置 主页 > 网站技术 > 代码类 > 最大化 缩小

    Node.JS获取GET,POST数据之queryString模块使用方法详解(2)

    栏目:代码类 时间:2020-02-06 15:07

    queryString模块编码

    querystring.escape(str)

    querystring.escape()方法对给定的str执行URL百分号编码,与encodeURIComponent方法一样

    querystring.escape()方法是供querystring.stringify()使用的,且通常不被直接使用。它之所以对外开放,是为了在需要时可以通过给querystring.escape赋值一个函数来重写编码的实现

    var querystring = require('querystring');
    
    console.log(encodeURIComponent('测试'));//%E6%B5%8B%E8%AF%95
    
    console.log(querystring.escape('测试'));//%E6%B5%8B%E8%AF%95

    querystring.unescape(str)

    querystring.unescape() 方法对给定的 str 上的 URL 百分号编码的字符执行解码

    querystring.unescape()方法是供querystring.parse()使用的,且通常不被直接使用。它之所以对外开放,是为了在需要时可以通过给querystring.unescape赋值一个函数来重写解码的实现。

    querystring.unescape()方法默认使用JavaScript内置的decodeURIComponent() 方法来解码

    var querystring = require('querystring');
    
    console.log(decodeURIComponent('%E6%B5%8B%E8%AF%95'));//'测试'
    
    console.log(querystring.unescape('%E6%B5%8B%E8%AF%95'));//'测试'

    Node.JS获取GET数据

    get请求的数据保存在URL中

    http://127.0.0.1:8080/home/test?a=1&b=2
    var http = require('http');
    var url = require('url');
    var querystring = require('querystring');
    http.createServer(function(req,res){
      var urlObj = url.parse(req.url);
      var query = urlObj.query;
      var queryObj = querystring.parse(query);
      console.log(req.url);//'/home/test?a=1&b=2'
      console.log(query);//'a=1&b=2'
      console.log(queryObj);//{ a: '1', b: '2' }
    }).listen(8080);

    Node.JS获取POST数据

    post请求的数据会被写入缓冲区中,需要通过request的data事件和end事件来进行数据拼接处理

    var http = require('http');
    var url = require('url');
    var querystring = require('querystring');
    http.createServer(function(req,res){
      var str = ''; 
      req.on('data', function(thunk){
        str += thunk;
      });
      req.on('end', function(){
        console.log(str);//'name=a&email=b%40b.com'
        var queryObj = querystring.parse(str);
        console.log(queryObj);//{ name: 'a', email: 'b%40b.com' }
      }); 

    更多关于Node.JS获取GET,POST数据的文章请点击下面的相关链接

    下一篇:没有了