HTTP-Post-Request in Node.js

Shraddha Paghdar 12 Oktober 2023
  1. HTTP-Post-Request in Node.js
  2. Verschiedene Möglichkeiten, HTTP-Anforderungen in Node.js zu stellen
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 }

Demo ausführen

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 }

Demo ausführen

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
}

Demo ausführen

Shraddha Paghdar avatar Shraddha Paghdar avatar

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