迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Node.js >

Node.js 中的 HTTP 发送 POST 请求

作者:迹忆客 最近更新:2023/03/27 浏览次数:

在本文中,我们将学习如何使用 Node.js 使用第三方包发出 post 请求。


Node.js 中的 HTTP 发布请求

HTTP POST 方法在服务器上创建或添加资源。 POSTPUT 请求之间的主要区别在于,通过 POST 请求向服务器添加/创建新资源,而通过 PUT 请求更新/替换现有资源。

例如,浏览器在向服务器发送 HTML 表单数据或通过 jQuery/AJAX 请求发送数据时使用 HTTP POST 请求方法。 与 GETHEAD 请求不同,HTTP POST 请求可以更改服务器的状态。


在 Node.js 中发出 HTTP 请求的不同方式

使用 Axios 库

我们可以使用 Axios 将异步 HTTP 请求发送到 REST 端点。 使用 Axios 执行 CRUD 操作变得很容易。

使用以下命令安装 Axios 库。

$ npm i axios

POST 请求是使用 post() 方法创建的。 当它作为第二个参数传递给 post() 函数时,Axios 会自动将 JavaScript 对象序列化为 JSON。

我们不需要将 POST 主体序列化为 JSON。

完整的源代码:

const axios = require('axios');
async function submitRequest() {
  const payload = { title: 'Hello World', body: 'Welcome to Node tutorial' };
  const res = await axios.post('https://jsonplaceholder.typicode.com/posts', payload);
  const data = res.data;
  console.log(data);
}
submitRequest();

在上面的示例中,一旦用户提交了表单,POST 调用就会发送到带有指定 URL(本文中为虚拟)和参数的节点服务器。 如果服务器不间断地处理这些数据,它会返回一条成功消息。

根据服务器响应的输出,您可以在控制台上打印消息或通过消息通知用户。

输出:

{
  title: 'Hello World',
  body: 'Welcome to Node tutorial',
  id: 101
}

使用 Node 获取库

我们可以使用 node-fetch 库将异步 HTTP 请求发送到 REST 端点。 我们可以在此处找到有关节点提取的更多信息。

使用以下命令安装节点获取库。

$ npm i node-fetch

完整的源代码:

const fetch = require('node-fetch');
async function getTodoData() {
  const payload = { title: 'Hello World', body: 'Welcome to Node tutorial' };
  const response = await fetch('https://jsonplaceholder.typicode.com/posts', {
    method: 'post',
    body: JSON.stringify(payload),
    headers: {'Content-Type': 'application/json'}
  });
  const data = await response.json();
  console.log(data);
}
getTodoData();

输出结果如下:

{
  title: 'Hello World',
  body: 'Welcome to Node tutorial',
  id: 101
}

使用 SuperAgent 库

让我们使用 SuperAgent 库在 Node.js 中发出 HTTP post 请求。 我们可以在此处找到有关 SuperAgent 库的更多信息。

使用以下命令安装 superagent 库。

$ npm i superagent

完整的源代码:

const superagent = require('superagent');
async function getTodoData() {
  const payload = { title: 'Hello World', body: 'Welcome to Node tutorial' };
  const res = await superagent.post('https://jsonplaceholder.typicode.com/posts').send(payload);
  console.log(res.body);
}
getTodoData();

输出结果如下:

{
  title: 'Hello World',
  body: 'Welcome to Node tutorial',
  id: 101
}

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Node.js 中编码 URL

发布时间:2023/03/27 浏览次数:201 分类:Node.js

在这篇简短的文章中,我们将学习如何在 Node.js 中进行 URL 编码。

在 Node.js 中编码 Base64

发布时间:2023/03/27 浏览次数:155 分类:Node.js

在本文中,我们将学习如何在 Node.js 中将字符串或文本转换为 base64。

Node.js 与 React JS 的比较

发布时间:2023/03/27 浏览次数:137 分类:Node.js

本文比较和对比了两种编程语言,Node.js 和 React。React 和 Node.js 都是开源 JavaScript 库的示例。 这些库用于构建用户界面和服务器端应用程序。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便