[Node.js] 模块化 -- url、querystring模块

本文详细介绍Node.js中处理HTTP请求参数的方法,包括GET和POST请求的参数接收及解析过程,利用url模块和querystring模块实现对前端传参的有效处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前端传参

  • get传参:拼接在url上面
    • http://127.0.0.1:4399/joke?id=8&username=admin
  • post传参:不是拼接在url上面
    • 请求体中传递
nodejs接收get传递过来的参数
  • 1.导入模块

  • 2.创建服务器

    使用node.js的一个模块:url模块

  • 3.开启服务器

//1.导入模块
const http = require("http");
const url = require('url')

//2.创建服务器
const  server = http.createServer((req, res)=>{
    //req是请求的对象,req.url能 拿到请求的ur1中?以及?后面的内容
    // console.log(req.url);//'?id=8&username=weige'

    //我们可以通过req.url拿到前端传递过来的参数
    //但是要做字符串的处理.
    //我们可以使用node.js的一个模块:url模块
    //调用他的parse方法
    //第一个参数:就是要处理的url
    //第二个参数:如果给true的话就返回一个对象
    let url0bj = url. parse(req. url, true);
    // console. log(url0bj);

    //这个返回的对象里面有一个query属性,他也是一个对象,这个属性里面就有get传递过来的参数.
    console.log(ur10bj .query);

    //那就可以在这里根据这个接收到的id,去数据库中获取这个id的英雄的所有详细信息
    //返回给调用这.

    //如果在这里拿到了id对应的英雄的详细信息了, 就可以返回
    res.end(JSON.stringify(urlObj. query));//只能返回字符串.
})

//3.开启服务器
server. listen(4399,()=>{
    console.log( '服务器开启了...');
});

 
 

nodejs接收post传递过来的参数

在这里插入图片描述

  • 1.导入模块
  • 2.创建服务器
    • 1.你得有一个容器
    • 2.给req对象-个data事件
    • 3.给req对象一个end事件
    • 4.解析这个传递过来的参数数据。
    • 5.去数据库中判断是否是正确
  • 3.开启服务器
//1.导入模块
const http = require("http");
const querystring = require( 'querystring' );

//2.创建服务器
const  server = http.createServer((req, res)=>{
    //req是请求对象
    //因为这里是post的方式传递过来的参数,不是在ur1中的,所以用req.url是拿不到的.
    // console.log(req.url);

    //那如何拿呢?
    //一小块一小块的拿.
    //1.你得有一个容器
    let postData =" ";
    //2.给req对象-个data事件
    //事件处理程序参数是当前这次传递过来的这一小块内容.
    req. on('data',(chunk)=> {
        postData += chunk;
    })
    //3.给req对象一个end事件.
    //表示数据传递完毕了.
    res.on('end',()=>{
        //打印看看
        console.log(postData);
        //4.解析这个传递过来的参数数据。
        let postObj = querystring.parse(postData)
        console.log(postObj);

        //5.
        //那在这里就可以根据这个传递过来的账号和密码,去数据库中判断是否是正确的.
        //如果正确的那在这里就可以告诉用户,账号密码正确.
        res . end("'sb");
    })

})

//3.开启服务器
server. listen(4399,()=>{
    console.log( '服务器开启了...');
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值