处理http请求

先测试get请求

const http = require('http');
const querystring = require('querystring');

http.createServer((req, res) => {
    const method = req.method;
    const url = req.url;
    const path = url.split('?')[0];
    const query = querystring.parse(url.split('?')[1]);

    // 返回的数据
    const resData = {
        method,
        url,
        path,
        query
    }
    // res.setHeader('Content-type','application/json');
    if(method === 'GET'){
        res.writeHead(200,{
            'Content-Type':'application/json; charset=utf8'
        });
        res.end(JSON.stringify(resData));
    }
    
}).listen(3000, () => {
    console.log('server running at port 3000...');
})


再测试post请求

if (method === 'POST') {
        res.writeHead(200, {
            'Content-type': 'application/json; charset=utf8'
        });

        let pdata = '';
        req.on('data', chunk => {
            pdata += chunk.toString();
        });
        req.on('end',()=>{
            resData.postData = pdata;
            // 返回结果
            res.end(
                JSON.stringify(resData)
            )
        })
    }

在这里插入图片描述
其实也没必要在获取post data时候每次都调用chunk.toString(),因为会自动处理:

if (method === 'POST') {
        res.writeHead(200, {
            'Content-type': 'application/json; charset=utf8'
        });

        let pdata = '';
        req.on('data', chunk => {
            console.log(chunk);
            pdata += chunk
        });
        req.on('end',()=>{
            resData.postData = pdata;
            console.log('pdata: ',pdata);
            // 返回结果
            res.end(
                JSON.stringify(resData)
            )
        })
    }

在这里插入图片描述
把POST请求发出去:
在这里插入图片描述
控制台打印结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值