nodejs 处理用户的请求

2 篇文章 0 订阅

nodejs 处理用户的请求

get 请求

get请求的数据拼接在url地址后边, 以? 作为连接, 多个数据之间使用 & 符号连接
获取用户传递的数据通过 query 字段获取

const http = require('http')
const url = require('url')

http.createServer((req, res) => {
    //  获取用户传递的数据
    let query = url.parse(req.url, true).query
    //  可以对数据进行处理
    ....
}).listen(3000,() => {})

post 请求

post请求的数据是在请求体中, nodejs中没有方法直接获取的; 需要手动获取

  • data事件: 当有数据可读时触发
  • end事件: 没有更多的数据可读时触发 (当没有数据可读时触发)
  • error事件: 在接收和写入过程中发生错误时触发 (读取或写入过程失败时触发)
  • finish事件: 所有数据已被写入到底层系统时触发。 (读取完成时触发)
const http = require('http')
const querystring = require('querystring')

http.createServer((req, res) => {
    //  声明一个变量 用来接受传递的数据
    let body = ''
    //  获取用户传递的数据  需要监听数据流
    req.on('data', (chunk) => {
        //   chunk 就是传递的数据
        //  body 接受到的数据是字符串形式  key=value&key1=value1
        body += chunk;
    })
    
    //  监听 数据传递结束
    req.on('end', () => {
        // 对数据进行相关的处理 将body 转换为 对象形式 {key:value, key1:value1}
        body = querystring.parse(body)
        //  进行数据处理
        ....
    })
    ....
}).listen(3000,() => {})
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的用Node.js实现用户信息处理的示例代码: ```javascript const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.json()); // 用户信息列表 let users = [ { id: 1, name: '张三', age: 21 }, { id: 2, name: '李四', age: 25 }, { id: 3, name: '王五', age: 30 } ]; // 获取所有用户信息 app.get('/users', (req, res) => { res.json(users); }); // 获取指定ID的用户信息 app.get('/users/:id', (req, res) => { const id = parseInt(req.params.id); const user = users.find(u => u.id === id); if (user) { res.json(user); } else { res.status(404).send('用户不存在'); } }); // 添加用户信息 app.post('/users', (req, res) => { const user = req.body; user.id = users.length + 1; users.push(user); res.json(user); }); // 修改指定ID的用户信息 app.put('/users/:id', (req, res) => { const id = parseInt(req.params.id); let user = users.find(u => u.id === id); if (user) { user.name = req.body.name; user.age = req.body.age; res.json(user); } else { res.status(404).send('用户不存在'); } }); // 删除指定ID的用户信息 app.delete('/users/:id', (req, res) => { const id = parseInt(req.params.id); users = users.filter(u => u.id !== id); res.send(`用户${id}已被删除`); }); // 启动服务器 app.listen(3000, () => { console.log('服务器已启动,端口号:3000'); }); ``` 以上代码实现了以下功能: - 获取所有用户信息:发送GET请求到`/users`,服务器返回所有用户信息。 - 获取指定ID的用户信息:发送GET请求到`/users/:id`(`:id`为用户ID),服务器返回指定ID的用户信息。 - 添加用户信息:发送POST请求到`/users`,请求体包含要添加的用户信息,服务器返回添加后的用户信息。 - 修改指定ID的用户信息:发送PUT请求到`/users/:id`,请求体包含要修改的用户信息,服务器返回修改后的用户信息。 - 删除指定ID的用户信息:发送DELETE请求到`/users/:id`,服务器返回删除成功信息。 你可以根据自己的需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值