Node.js 中的 HTTP 发送 POST 请求
在本文中,我们将学习如何使用 Node.js 使用第三方包发出 post 请求。
Node.js 中的 HTTP 发布请求
HTTP POST 方法在服务器上创建或添加资源。 POST 和 PUT 请求之间的主要区别在于,通过 POST 请求向服务器添加/创建新资源,而通过 PUT 请求更新/替换现有资源。
例如,浏览器在向服务器发送 HTML 表单数据或通过 jQuery/AJAX 请求发送数据时使用 HTTP POST 请求方法。 与 GET 和 HEAD 请求不同,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
}
相关文章
Node.js 与 React JS 的比较
发布时间:2023/03/27 浏览次数:137 分类:Node.js
-
本文比较和对比了两种编程语言,Node.js 和 React。React 和 Node.js 都是开源 JavaScript 库的示例。 这些库用于构建用户界面和服务器端应用程序。