HTTP-Post-Request in Node.js
In diesem Artikel erfahren Sie, wie Sie mithilfe von Paketen von Drittanbietern mithilfe von Node.js Post-Anforderungen stellen.
HTTP-Post-Request in Node.js
Die Methode HTTP POST
erstellt oder fügt eine Ressource auf dem Server hinzu. Der Hauptunterschied zwischen POST
- und PUT
-Anfragen besteht darin, dass eine neue Ressource über eine POST
-Anfrage zum Server hinzugefügt/erstellt wird, während eine vorhandene Ressource über eine PUT
-Anfrage aktualisiert/ersetzt wird.
Beispielsweise verwenden Browser die Anforderungsmethode HTTP POST
, wenn sie HTML-Formulardaten an den Server senden oder wenn sie Daten über jQuery/AJAX-Anforderungen senden. Im Gegensatz zu GET- und HEAD-Anforderungen können HTTP POST
-Anforderungen den Status des Servers ändern.
Verschiedene Möglichkeiten, HTTP-Anforderungen in Node.js zu stellen
Verwenden Sie die Axios-Bibliothek
Mit Axios können Sie asynchrone HTTP-Anfragen an REST
-Endpunkte senden. Die Durchführung von CRUD-Operationen wird mit Axios zu einer einfachen Aufgabe.
Verwenden Sie den folgenden Befehl, um die Axios-Bibliothek zu installieren.
$ npm i axios
Ein POST
-Request wird mit der post()
-Methode erstellt. Wenn es als zweiter Parameter an die Funktion post()
übergeben wird, serialisiert Axios automatisch JavaScript-Objekte in JSON.
Wir müssen POST-Bodys nicht in JSON serialisieren.
Vollständiger Quellcode:
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();
Im obigen Beispiel wird, sobald der Benutzer das Formular absendet, ein POST-Aufruf mit der angegebenen URL (Dummy in diesem Beitrag) und Parametern an den Knotenserver gesendet. Wenn der Server diese Daten ohne Unterbrechung verarbeitet, gibt er eine Erfolgsmeldung zurück.
Basierend auf der Ausgabe der Serverantwort können Sie die Nachricht auf der Konsole drucken oder den Benutzer mit der Nachricht benachrichtigen.
Ausgang:
{ title: 'Hello World', body: 'Welcome to Node tutorial', id: 101 }
Verwenden Sie die Node-Fetch-Bibliothek
Mit der Node-Fetch-Bibliothek können Sie asynchrone HTTP-Anforderungen an REST
-Endpunkte senden. Weitere Informationen zum Node-Fetch finden Sie hier
.
Installieren Sie die Node-Fetch-Bibliothek mit dem folgenden Befehl.
$ npm i node - fetch
Vollständiger Quellcode:
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();
Ausgang:
{ title: 'Hello World', body: 'Welcome to Node tutorial', id: 101 }
Verwenden Sie die SuperAgent-Bibliothek
Verwenden wir die SuperAgent-Bibliothek, um eine HTTP-Post-Anfrage in Node.js zu stellen. Weitere Informationen zur SuperAgent-Bibliothek finden Sie hier
.
Installieren Sie die superagent
-Bibliothek mit dem folgenden Befehl.
$ npm i superagent
Vollständiger Quellcode:
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();
Ausgang:
{
title: 'Hello World',
body: 'Welcome to Node tutorial',
id: 101
}
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn