node.js简单实现post请求
//需求:通过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请求相关推荐
- Node.js模拟发起http请求从异步转同步的5种方法
使用Node.js模拟发起http请求很常用的,但是由于Node模块(原生和第三方库)提供里面的方法都是异步,对于很多场景下应用很麻烦,不如同步来的方便.下面总结了几个常见的库API从异步转同步的几种 ...
- Node.js~ioredis处理耗时请求时连接数瀑增
关于redis连接数过高的解释 对于node.js开发环境里,使用传统的redis或者使用ioredis都是不错的选择,而在处理大数据请求程中,偶尔出现了连接池( redis服务端的最大可用连接数,默 ...
- Node.js 简单入门
目录 一. 什么是Nodejs 二. Nodejs组成图(对比jdk) 三. Nodejs的安装 四. 第一个Nodejs程序 五. Node实现请求响应 六. Node操作MYSQL数据库 1. 安 ...
- Node.js:get/post请求、全局对象、工具模块
一.GET/POST请求 在很多场景中,我们的服务器都需要跟用户的浏览器打交道,如表单提交.表单提交到服务器一般都使用 GET/POST 请求. 1.获取GET请求内容 由于GET请求直接被嵌入在路径 ...
- ajax 高并发请求,理解node.js处理高并发请求原理
很少分享技术文章,写的不好的地方请大家多多指教,本文是自己对于node.js的一些见解,如有纰漏请在评论区交流. 高并发策略 通常高并发的解决方案就是提供多线程模型,服务器为每个客户端请求分配一个线程 ...
- node.js简单爬虫
这里假设你已经安装好node.js和npm,如果没有安装,请参阅其他教程安装. 配置 首先是来配置package.json文件,这里使用express,request和cheerio. package ...
- node.js 针对不同的请求路径(url) 做出不同的响应
边看这个边写的: http://wenku.baidu.com/link?url=C4yLe-TVH6060u_x4t34H3Ze8tjoL7HjJaKgH-TvHnEYl-T_gAMYwhmrCeM ...
- nock模拟服务响应_使用Node.js nock拦截HTTP请求
nock模拟服务响应 Unit testing external APIs is difficult no matter what language you do it in. Hell, work ...
- node.js中使用https请求报CERT_UNTRUSTED的问题解决
只要调用了没有受信的https就会报错:CERT_UNTRUSTED 简单的解决方法就是设置环境变量回避非授信证书的问题. 只要在请求的代码之前加上如下代码即可: process.env.NODE_T ...
最新文章
- filter 在CSS用的效果
- JVM-10虚拟机性能监控与故障处理工具之【JDK的命令行】
- 二十七、深入浅出Python中的 os模块
- tensorflow从入门到放弃(二)
- eclipse下载与安装步骤详解,包含解决错误(最全最详细)
- linux url%7b怎么转化成,shell下解码url
- ps零基础学习计算机,如何零基础学习PS?写给新手朋友的一些经验
- python调用v8_Python 安装 V8 引擎 – pyv8
- NeuSE: A Neural Snapshot Ensemble Method for Collaborative Filtering(阅读论文笔记)
- [渝粤教育] 西南科技大学 会计电算化 在线考试复习资料2021版(1)
- 世界上最简单的会计书(服务行业利润表)
- excel work
- win10 注销 睡眠 休眠 cmd 命令
- mysql 增删修模型_48.Python中ORM模型实现mysql数据库基本的增删改查操作
- 2022年第三届MathorCup高校数学建模挑战赛——大数据竞赛(baseline)
- 北京师范大学计算机研究生毕业去向,北京师范大学的计算机科研实力怎么样啊?我想考北..._考研_帮考网...
- java中的repo什么意思,repo是什么意思什么梗 repo的含义及出处
- 分析师称新iPad Mini第三季上市 配视网膜屏
- openwrt linux rootfs 分区表,arm盒子快速移植OpenWrt rootfs
- java通过IP解析地理位置