[Node.js] 处理 Get&Post 请求


Node 服务端代码

'use strict';

var http = require('http')
var url = require('url')
var util = require('util');
var querystring = require('querystring');

// 创建服务器
var server = http.createServer()

// 监听 request 请求
server.on('request', function (req, res) {

    // 打印请求地址
    console.log("request url : " + req.url);

    // 解析请求地址
    var obj = url.parse(req.url, true)
    
    // 处理主页请求
    if (obj.pathname === '/')
    {
        res.end('index page')
    }
    // 处理 get 请求
    else if (obj.pathname === '/test_get')
    {
        // 打印 get 请求内容
        console.log(obj.query)

        if (obj.query.name === 'lysm' && obj.query.password === '123456')
        {
            res.end('success')
        }
        else
        {
            res.end('failed')
        }
    }
    // 处理 post 请求
    else if (obj.pathname === '/test_post')
    {
        var post = '';     
        req.on('data', function (chunk)                 // 每次发送数据时 - 回调
        {
            post += chunk;
        });
        req.on('end', function ()                            // 数据发送完毕时 - 回调
        {   
            // 解析 post 请求内容
            post = querystring.parse(post);

            // 打印post 请求内容
            console.log(post)

            if (post.name === 'lysm' && post.password === '123456') {
                res.end('success')
            }
            else {
                res.end('failed')
            }
        });
        req.on('error', function (e) {                      // 请求发生错误时 - 回调
            console.log("ERROR: " + e.message);
            res.end('error')
        });
    }
    // 其他请求返回 404
    else {
        res.end('404 not found')
    }
})

// 绑定端口号
server.listen(3000, function () {
    console.log('server start ...')
})



使用 postman 测试

1.主页
在这里插入图片描述

2.test_get
在这里插入图片描述

3.test_post
在这里插入图片描述

4.不存在页面
在这里插入图片描述

相关