Node.js 监听 GET 和 POST 请求并处理参数

目录

[1. 安装 Node.js 和 Express](#1. 安装 Node.js 和 Express)

[2. 创建服务器并监听 GET 和 POST 请求](#2. 创建服务器并监听 GET 和 POST 请求)

[3. 运行服务器](#3. 运行服务器)

[4. 结语](#4. 结语)


1. 安装 Node.js 和 Express

在开始之前,请确保你已经安装了 Node.js ,然后使用 npm 安装 Express

bash 复制代码
mkdir node-server && cd node-server  # 创建项目目录
npm init -y  # 初始化项目
npm install express  # 安装 Express

2. 创建服务器并监听 GET 和 POST 请求

新建 server.js 文件,写入以下代码:

javascript 复制代码
// server.js
const express = require('express'); // 引入 Express
const app = express(); // 创建应用
const port = 3000; // 服务器端口

// 解析 JSON 和 URL 编码数据
app.use(express.json());
app.use(express.urlencoded({ extended: true }));

// 监听 GET 请求,获取查询参数
app.get('/get-user', (req, res) => {
    const name = req.query.name; // 获取 URL 查询参数 ?name=xxx
    res.send(`GET 请求收到,用户:${name}`);
});

// 监听 POST 请求,获取请求体数据
app.post('/post-user', (req, res) => {
    const { name, age } = req.body; // 获取 JSON 请求体参数
    res.json({ message: 'POST 请求收到', user: { name, age } });
});

// 启动服务器
app.listen(port, () => {
    console.log(`服务器运行在 http://localhost:${port}`);
});

3. 运行服务器

在终端执行:

javascript 复制代码
node server.js

服务器启动后,访问 http://localhost:3000/get-user?name=Tom,页面会返回:

javascript 复制代码
GET 请求收到,用户:Tom

然后使用 Postman 或 curl 发送 POST 请求:

bash 复制代码
curl -X POST http://localhost:3000/post-user -H "Content-Type: application/json" -d '{"name": "Alice", "age": 25}'

服务器返回 JSON 响应:

javascript 复制代码
{
    "message": "POST 请求收到",
    "user": {
        "name": "Alice",
        "age": 25
    }
}

4. 结语

这篇文章介绍了如何使用 Node.js + Express 监听 GET 和 POST 请求,并解析 URL 查询参数和 JSON 请求体数据。希望这篇教程能帮助你快速上手!🚀

相关推荐
偷光1 小时前
浏览器中的隐藏IDE: Elements (元素) 面板
开发语言·前端·ide·php
江拥羡橙6 小时前
Vue和React怎么选?全面比对
前端·vue.js·react.js
千码君20166 小时前
React Native:快速熟悉react 语法和企业级开发
javascript·react native·react.js·vite·hook
楼田莉子7 小时前
Qt开发学习——QtCreator深度介绍/程序运行/开发规范/对象树
开发语言·前端·c++·qt·学习
暮之沧蓝7 小时前
Vue总结
前端·javascript·vue.js
木易 士心8 小时前
Promise深度解析:前端异步编程的核心
前端·javascript
im_AMBER8 小时前
Web 开发 21
前端·学习
又是忙碌的一天8 小时前
前端学习day01
前端·学习·html
Joker Zxc8 小时前
【前端基础】20、CSS属性——transform、translate、transition
前端·css
excel8 小时前
深入解析 Vue 3 源码:computed 的底层实现原理
前端·javascript·vue.js