//需求:通过post方式实现新增英雄的功能

//1、创建服务器

//2、总体思路是:创建服务器---获取请求接口和方式---‘data’监听事件接收数据---'end'事件执行完接收---把原json文件读取并转换成数组---通过URLSearchParams解析请求数据---用fs方式把数据追加到数组中---展示数据

//3、实现事项:json数据文件---node.js文件---调试工具:postman

       JS文件

const http = require('http') //引入HTTP协议模块
const fs = require('fs') //引入fs模块
const { json } = require('node:stream/consumers')//创建HTTP协议的服务器
let serer = http.createServer((req, res) => {//1.1判断接口名称和请求方式let url = req.urllet method = req.methodres.setHeader('content-type', 'text/html;charset=utf8')if (url === '/add' && method === 'POST') {let result = '' //接收前端的参数//data事件,每次收到一部分参数数据就会触发一次这个事件。//1.数据大会分批次接收//2.数据小则可以一次性接收完毕req.on('data', (chunk) => { //chunk代表传入的数据console.log('接收数据成功');result += chunk})// end事件,全部的参数数据接收完成之后会执行一次。req.on('end', () => {//读取json文件中的内容let str = fs.readFileSync('./data.json', 'utf-8')//把数据转换成数组let arr = JSON.parse(str)//解析前端传入的数据let query = new URLSearchParams(result)arr.push({name: query.get('name'),skinname: query.get('skinname')})//把最新的数据写入json文件中fs.writeFileSync('./data.json', JSON.stringify(arr))//把文件读取出来let newStr = fs.readFileSync('./data.json', 'utf-8')//把文件按内容展示在页面中res.end(newStr)})} //请求接口或方式错误的处理else {res.statusCode = 404res.end('找不到请求数据接口')}})//监听服务器,8999端口号
serer.listen(8999, () => {console.log('http://127.0.0.1:8999');
})

JSON文件

[{"name":"后裔","skinname":"精灵王"},
{"name":"程咬金","skinname":"功夫厨神"},
{"name":"伽罗","skinname":"太华"},
{"name":"孙尚香","skinname":"时之恋人"},
{"name":"鲁班七号","skinname":"黑桃队长"}]

node.js简单实现post请求相关推荐

  1. Node.js模拟发起http请求从异步转同步的5种方法

    使用Node.js模拟发起http请求很常用的,但是由于Node模块(原生和第三方库)提供里面的方法都是异步,对于很多场景下应用很麻烦,不如同步来的方便.下面总结了几个常见的库API从异步转同步的几种 ...

  2. Node.js~ioredis处理耗时请求时连接数瀑增

    关于redis连接数过高的解释 对于node.js开发环境里,使用传统的redis或者使用ioredis都是不错的选择,而在处理大数据请求程中,偶尔出现了连接池( redis服务端的最大可用连接数,默 ...

  3. Node.js 简单入门

    目录 一. 什么是Nodejs 二. Nodejs组成图(对比jdk) 三. Nodejs的安装 四. 第一个Nodejs程序 五. Node实现请求响应 六. Node操作MYSQL数据库 1. 安 ...

  4. Node.js:get/post请求、全局对象、工具模块

    一.GET/POST请求 在很多场景中,我们的服务器都需要跟用户的浏览器打交道,如表单提交.表单提交到服务器一般都使用 GET/POST 请求. 1.获取GET请求内容 由于GET请求直接被嵌入在路径 ...

  5. ajax 高并发请求,理解node.js处理高并发请求原理

    很少分享技术文章,写的不好的地方请大家多多指教,本文是自己对于node.js的一些见解,如有纰漏请在评论区交流. 高并发策略 通常高并发的解决方案就是提供多线程模型,服务器为每个客户端请求分配一个线程 ...

  6. node.js简单爬虫

    这里假设你已经安装好node.js和npm,如果没有安装,请参阅其他教程安装. 配置 首先是来配置package.json文件,这里使用express,request和cheerio. package ...

  7. node.js 针对不同的请求路径(url) 做出不同的响应

    边看这个边写的: http://wenku.baidu.com/link?url=C4yLe-TVH6060u_x4t34H3Ze8tjoL7HjJaKgH-TvHnEYl-T_gAMYwhmrCeM ...

  8. nock模拟服务响应_使用Node.js nock拦截HTTP请求

    nock模拟服务响应 Unit testing external APIs is difficult no matter what language you do it in.  Hell, work ...

  9. node.js中使用https请求报CERT_UNTRUSTED的问题解决

    只要调用了没有受信的https就会报错:CERT_UNTRUSTED 简单的解决方法就是设置环境变量回避非授信证书的问题. 只要在请求的代码之前加上如下代码即可: process.env.NODE_T ...

最新文章

  1. filter 在CSS用的效果
  2. JVM-10虚拟机性能监控与故障处理工具之【JDK的命令行】
  3. 二十七、深入浅出Python中的 os模块
  4. tensorflow从入门到放弃(二)
  5. eclipse下载与安装步骤详解,包含解决错误(最全最详细)
  6. linux url%7b怎么转化成,shell下解码url
  7. ps零基础学习计算机,如何零基础学习PS?写给新手朋友的一些经验
  8. python调用v8_Python 安装 V8 引擎 – pyv8
  9. NeuSE: A Neural Snapshot Ensemble Method for Collaborative Filtering(阅读论文笔记)
  10. [渝粤教育] 西南科技大学 会计电算化 在线考试复习资料2021版(1)
  11. 世界上最简单的会计书(服务行业利润表)
  12. excel work
  13. win10 注销 睡眠 休眠 cmd 命令
  14. mysql 增删修模型_48.Python中ORM模型实现mysql数据库基本的增删改查操作
  15. 2022年第三届MathorCup高校数学建模挑战赛——大数据竞赛(baseline)
  16. 北京师范大学计算机研究生毕业去向,北京师范大学的计算机科研实力怎么样啊?我想考北..._考研_帮考网...
  17. java中的repo什么意思,repo是什么意思什么梗 repo的含义及出处
  18. 分析师称新iPad Mini第三季上市 配视网膜屏
  19. openwrt linux rootfs 分区表,arm盒子快速移植OpenWrt rootfs
  20. java通过IP解析地理位置

热门文章

  1. 简析微服务架构(Spring Cloud)
  2. 如何在微信小程序中生成二维码:一个最简单的案例就让你明白
  3. 3ds Max导出带贴图的obj模型
  4. 史上最详细的九九乘法表教学(Java版)
  5. scala apply用法
  6. 《遇见尊上》4.1上线链游玩家|不甘天命、恋爱修仙
  7. sql 筛选不为NULL且不为空
  8. Python菜鸟起飞day11_ 线程、进程、协程(一、多线程)
  9. 博通BroadR-Reach——车载以太网物理层技术
  10. 中国计算机学会创建60周年,中科院院士梅宏:CCF迎来更高水平历史机遇期