• 原生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);

      

    时间如白驹过隙,忽然而已,且行且珍惜......
  • 相关阅读:
    .emacs
    boost 程序库完全开发指南_ch3_memory_manager
    C++ 友元函数
    AutoHotKey.ini
    QQ因系统日期无法打开
    SharePoint 2007中如何更改用戶基本資料(EMail地址)
    盗版Windows XP如何安装IE7
    三人行,必有我師學會了家中布線ADSL上網
    以數據源方式讀取文本文件連接串及注事事項
    网络访问时you might not have permission to use this network resource错误解决方法
  • 原文地址:https://www.cnblogs.com/UnfetteredMan/p/13855690.html
Copyright © 2020-2023  润新知