Nodejs教程08:同时处理GET/POST请求
示例代码请访问我的GitHub: github.com/chencl1986/…
同时处理GET/POST请求
通常在开发过程中,同一台服务器需要接收多种类型的请求,并区分不同接口,向客户端返回数据。
最常用的方式,就是对请求的方法、url进行区分判断,获取到每个请求的数据后,统一由一个回调函数进行处理。
如下示例代码,可以在/lesson08/form_get.html和/lesson08/form_post.html中,通过提交表单查看效果。
示例代码:/lesson08/server.js
const http = require('http')
const url = require('url')
const querystring = require('querystring')const server = http.createServer((req, res) => {// 定义公共变量,存储请求方法、路径、数据const method = req.methodlet path = ''let get = {}let post = {}// 判断请求方法为GET还是POST,区分处理数据if (method === 'GET') {// 使用url.parse解析get数据const { pathname, query } = url.parse(req.url, true)path = pathnameget = querycomplete()} else if (method === 'POST') {path = req.urllet arr = []req.on('data', (buffer) => {// 获取POST请求的Buffer数据arr.push(buffer)})req.on('end', () => {// 将Buffer数据合并let buffer = Buffer.concat(arr)// 处理接收到的POST数据post = querystring.parse(buffer.toString())complete()})}// 在回调函数中统一处理解析后的数据function complete() {console.log(method, path, get, post)}
})server.listen(8080)
复制代码
Nodejs教程08:同时处理GET/POST请求相关推荐
- nodejs项目实战教程08——创建静态Web服务器
nodejs项目实战教程08--创建静态Web服务器 什么是Web服务器 目标 1. 访问web服务器上面的网站 1.1 创建服务器 1.2 读取服务器上的资源文件 2. 下载web服务器上的文件 方 ...
- 视频教程-20年Nodejs教程零基础入门到项目实战前端视频教程-Node.js
20年Nodejs教程零基础入门到项目实战前端视频教程 7年的开发架构经验,曾就职于国内一线互联网公司,开发工程师,现在是某创业公司技术负责人, 擅长语言有node/java/python,专注于服务 ...
- ExtJS 4.2 教程-08:布局系统详解
ExtJS 4.2 系列教程导航目录: ExtJS 4.2 教程-01:Hello ExtJS ExtJS 4.2 教程-02:bootstrap.js 工作方式 ExtJS 4.2 教程-03:使用 ...
- Node初学者入门,一本全面的NodeJS教程,微小的web框架,能实现文件上传功能以及数据解析功能...
Node初学者入门,一本全面的NodeJS教程 转载于:https://www.cnblogs.com/hfultrastrong/p/8036672.html
- NodeJs本地搭建服务器,模拟接口请求,获取json数据
最近在学习Node.js,虽然就感觉学了点皮毛,感觉这个语言还不错,并且也会一步步慢慢的学着的,这里实现下NodeJs本地搭建服务器,模拟接口请求,获取json数据. 具体的使用我就不写了,这个博客写 ...
- [译]Vulkan教程(08)逻辑设备和队列
[译]Vulkan教程(08)逻辑设备和队列 Introduction 入门 After selecting a physical device to use we need to set up a ...
- Nodejs教程笔记(五)fs续 读取 写入 管道流
感谢b站教程:Nodejs教程_Nodejs+Koa2入门实战视频教程-2020年更新 读取流 const fs = require('fs')// 读取流 var readStream = fs.c ...
- python网络爬虫教程(四):强大便捷的请求库requests详解与编程实战
上一章中,我们了解了urllib的基本用法,详情可浏览如下链接python网络爬虫教程(三):详解urllib库,但其中确实有不方便的地方,为此,我们可以使用更方便更简洁的HTTP请求库request ...
- nodejs 使用http进行post或get请求(携带cookie)
#nodejs 使用http进行post或get请求(携带cookie) 安装http nmp install http 函数封装(可直接拿去进行使用) var http = require('htt ...
最新文章
- Python心得--如何提高代码质量
- 《统计学》学习笔记之数据的收集
- 44. 源代码解读-RocketMQ-架构
- 基于Python+Django的在线习题考试测试管理系统
- mac下通过brew安装的Nginx在哪
- ARM 指令集跳转指令
- pat甲级什么水平_转让河北工程设计建筑行业(建筑工程)甲级资质
- [转载] python基础 - namedtuple和enum
- Transfer-Encoding: chunked
- yii、yaf、ci等php框架性能对比
- win10远程桌面Android软件,Microsoft发布了适用于Android的远程桌面应用程序10.0.7版的重大更新...
- “磁碟机”病毒详尽分析报告
- linux 编译chromium,chromium(linux环境)指定版本下载和编译教程
- owncloud 私有云搭建
- 【MyBatis 面试题】
- 【元器件学习笔记—电阻】(6)——电阻并联电路
- 闪压压缩解压软件官方版
- c语言中 int和const int的区别
- Android 遇到的疑难杂症及解决方式。
- freebsd 安装 java_转 FreeBSD 安装JDK
热门文章
- c#中textbox属性_C#.Net中的TextBox.MaxLength属性与示例
- 数组shift方法_数组shift()方法以及JavaScript中的示例
- 括号配对问题(C++栈)
- cobalt strick 4.0 系列教程(6)Payload Artifact 和反病毒规避
- 1!+2!+3!+…+10!的和
- 打开端口_打印机ip及端口设置
- [Beego] [bootstrap-paginator]实现分页功能
- redis源码剖析(七)—— Redis 数据结构dict.c
- C语言 防止头文件被多次引用
- Effective C++学习第四天