node.js中get和post接口教程

 更新时间:2022年05月26日 10:16:41   作者:​ pain_past_is_pleasur   ​  
这篇文章主要介绍了node.js中get和post接口学习,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

接口传参

我们使用ajax请求向服务器接口传参,按http协议的约定,每个请求都有三个部分:

  • 请求: 保存了请求方式,地址,可以以查询字符串的格式附加一部分数据。
  • 请求:它可以附加很多信息,其中content-type用来约定请求体中保存的数据格式。 content-type常见有三种取值:
content-type的值表示请求体的数据格式示例
application/x-www-form-urlencode普通键值对象a=2&c=1
application/jsonjson对象{a:1,b:{c:1}}
multipart/form-data上传文件file
  • 请求:  本次请求携带的参数。至于这些参数到了后端应该如何解析出来,由请求头中的content-type来决定。

Snipaste_2022-04-29_19-19-31.png

方法一:请求行。常见方式如下:

  • 使用ajax技术,通过get方式传参。
  • 在浏览器地址栏中输入接口地址并补充上查询字符串。

方法二:请求体

  • ajax中的post, put, delete可以从请求体中进行传参。

另外,请求头中的content-type用来告之服务器应该以何种方式去解析请求体中的数据。

express写get接口

express的使用可以看这个:node.js三个步骤实现一个服务器及Express包使用

get无传参的最简单

const express = require('express');
const app = express();
app.get('/get', function(req, res) {
  // 直接返回对象
  res.send({ name: '小杜' });
});
app.listen('8001', () => {
  console.log('服务器启动成功');
});

get有传参

express框架会自动收集get类型的接口从url地址中传递的查询字符串参数,并自动保存在req对象的query属性中。我们直接来获取即可。

const express = require('express');
const app = express();
app.get('/get', function(req, res) {
  // 直接返回对象
  console.log(req.query);
  res.send({ name: 'abc' });
});
app.listen('8001', () => {
  console.log('服务器启动成功');
});

post请求

post传递普通键值对

const express = require('express');
const app = express();
// 1. 使用中间件
app.use(express.urlencoded());

app.post("/add",function(req,res){
    //2. 可以通过req.body来获取post传递的键值对	
    res.send(req.body)
app.listen('8001', () => {
  console.log('服务器启动成功');
});
})

post传递JSON格式

const express = require('express');
const app = express();
// 1. 使用中间件
app.use(express.json());

app.post("/postJSON",function(req,res){
    //2. 可以通过req.body来获取post传递的键值对	
    res.send(req.body)
app.listen('8001', () => {
  console.log('服务器启动成功');
});
})

post接口-form-data文件上传

如果post涉及文件上传操作,则需要在服务器端额外使用第三方multer这个包(不属于express)来获取上传的信息。

Multer 是一个 node.js 中间件,用于处理 multipart/form-data 类型的表单数据,它主要用于上传文件。

1.安装

npm i multer

2.使用

// 1. 引入包
const multer = require('multer');
// 2. 配置
const upload = multer({dest:'uploads/'}) // 上传的文件会保存在这个目录下
// uploads表示一个目录名,你也可以设置成其它的
// 3. 使用
// 这个路由使用第二个参数 .upload.single表示单文件上传, 'cover' 表示要上传的文件在本次上次数据中的键名。对应于前端页面上的:
//  <input type="file" name='cover'/>
app.post('/publish', upload.single('cover'), (req, res) => {
  console.log('接收到的参数是', req.file, req.body);
  res.send({ message: "ok" })
})
app.listen(8001, () => {
  console.log('8001');
})

说明:

  • 如果当前目录下没有uploads,它会自动创建uploads这个文件夹
  • upload.single只是处理了文件的上传。你仍可以通过req.body来获取其它参数

到此这篇关于node.js中get和post接口学习的文章就介绍到这了,更多相关 node.js get和post 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何开发一个渐进式Web应用程序PWA

    如何开发一个渐进式Web应用程序PWA

    这篇文章主要介绍了如何开发一个渐进式Web应用程序PWA,对渐进式Web应用程序感兴趣的同学,可以参考下
    2021-05-05
  • node.js 如何监视文件变化

    node.js 如何监视文件变化

    这篇文章主要介绍了node.js 如何监视文件变化,帮助大家更好的理解和学习node.js,感兴趣的朋友可以了解下
    2020-09-09
  • 手把手教你使用TypeScript开发Node.js应用

    手把手教你使用TypeScript开发Node.js应用

    为了减少代码编写过程中出现的错误,以及更好的维护你的项目,本文将手把手教你配置一个简单的开发环境来编写Node.js的应用程序,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • 使用Node.js实现一个多人游戏服务器引擎

    使用Node.js实现一个多人游戏服务器引擎

    这篇文章主要给大家介绍了关于如何使用Node.js实现一个多人游戏服务器引擎的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用Node.js具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • 使用Nodejs编写一个脚本实现markdown转pdf功能

    使用Nodejs编写一个脚本实现markdown转pdf功能

    Markdown 是一种轻量级的标记语言,非常适合用来写作和记录,将 Markdown 转换为 PDF 可以让文档在格式和样式上更加统一,也方便在不同设备和平台上查看和打印,在接下来的内容中我们将讲解如何使用 NodeJs 编写一个 Markdown 转 PDF 的脚本来实现我们这个想要的功能
    2024-05-05
  • 浅谈NodeJs之数据库异常处理

    浅谈NodeJs之数据库异常处理

    这篇文章主要介绍了浅谈NodeJs之数据库异常处理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Node中解决接口跨域问题详解

    Node中解决接口跨域问题详解

    在 Node 中编写接口时,我们常常会遇到跨域问题,通过本篇文章,我们来聊聊如何解决 Node 中接口的跨域问题,文中代码示例介绍了非常详细,需要的朋友可以借鉴一下
    2023-04-04
  • NodeJS有难度的面试题(能答对几个)

    NodeJS有难度的面试题(能答对几个)

    这篇文章主要介绍了NodeJS有难度的面试题(能答对几个),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • node.js中的fs.readlink方法使用说明

    node.js中的fs.readlink方法使用说明

    这篇文章主要介绍了node.js中的fs.readlink方法使用说明,本文介绍了fs.readlink方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • 从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例

    从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例

    这篇文章主要介绍了Node.js多页面实现数学运算的client端和server端,结合具体实例形式分析了nodejs客户端提交与服务端处理实现数学运算的相关操作技巧,需要的朋友可以参考下
    2017-04-04

最新评论