


Lassen Sie uns über Get/Post-Anfragen und Middleware in NodeJS sprechen
Dieser Artikel führt Sie durch den Hot-Restart, das Abrufen von Anfragen, das Posten von Anfragen und die Middleware in node.js. Ich hoffe, er wird Ihnen hilfreich sein!
1. Installieren Sie
npm i nodemon
2. Führen Sie
nodemon .bin/www aus
2 get-Anfrage
Im Allgemeinen wird get in der Website-Entwicklung für die Datenerfassung und -abfrage verwendet, ähnlich wie bei der Abfrageoperation in der Datenbank. Wenn der Server die Front-End-Ressource analysiert, wird der entsprechende Inhalt übertragen auf der URL, zum Beispiel:
http://localhost:8080/login?goods1=0001&goods2=0002Holen Sie sich die Front-End-Get-Anfrage
Die vom Benutzer gesendete Get-Anfrage kann über req.query und dann über node abgerufen werden. Der Vorgang gibt die entsprechenden Daten an den Benutzer zurück.
http://localhost:8080/login?goods1=0001&goods2=0002Die Antwort erfolgt durch:
Er erhält alle Daten oderreq.queryNach dem Login kopieren
req.query.goods1 req.query.goods2
allein Oder gehen Sie zu allen Daten. Kurz gesagt, unterschiedliche Anforderungen entsprechen unterschiedlichen Unternehmen, und jeder kann sie entsprechend seinen eigenen Anforderungen erhalten
node:rrree
3. Über die POST-Anfrage: Die Post-Methode ist ein wichtiger Teil der http-Anfrage. Im Gegensatz zu get ähnelt die Post-Anfrage eher der Durchführung von Änderungsvorgängen auf dem Server wird im Allgemeinen für Datenressourcenaktualisierungen verwendet. Im Vergleich zu Get-Anfragen sind die per Post angeforderten Daten sicherer. Im vorherigen Kapitel haben wir festgestellt, dass bei der Get-Anfrage der eingegebene Benutzername und das eingegebene Passwort in der Adressleiste angezeigt werden (bei Chinesisch werden sie in BASE64-Verschlüsselung konvertiert), während bei der Post-Anfrage die Daten in den Hauptteil der Adresse eingefügt werden http-Paket, das es anderen unmöglich macht, Benutzernamen und Passwort direkt zu sehen!
So richten Sie eine POST-Anfrage in Express ein
1 Zunächst müssen wir wissen, wie Sie eine Post-Anfrage im Formular
stellen, das hauptsächlich zum Hochladen von Dateien verwendet wird:<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <form action="http://localhost:8080/login" method="get"> 用户: <input type="text" name="user" id="user" placeholder="用户名"/> <br> 密码: <input type="password" name="password" id="password" placeholder="密码"/> <br> <input type="submit" value="提交"/> </form> </body> </html>
const express = require("express"); var app = express(); app.get("/",function(req,res){ res.send("主页"); }); app.get("/login",function(req,res){ console.log(req.query); res.send("登录路由,user为:"+req.query.user+"==> password为:"+req.query.password); }); app.listen(8080);
Login-Fall:
HTML:<form action="#" method="post" enctype="application/x-www-form-urlencoded"> </form>
4. Middleware Aus dem Wörtlichen Das heißt, wir können verstehen, dass es sich wahrscheinlich um einen Zwischen-Proxy-Vorgang handelt. In den meisten Fällen führt Middleware zwischen dem Empfang einer Anfrage und dem Senden einer Antwort eine Reihe von Vorgängen aus. Tatsächlich ist Express ein Routing- und Middleware-Webframework, und eine Express-Anwendung besteht im Grunde aus einer Reihe von Middleware-Funktionsaufrufen.
1. Der Browser sendet eine Anfrageenctype
属性一般设置为“application/x-www-form-urlencoded
”,如果设置成multipart/form-data
Der Prozess der Zwischenverarbeitung
3. Die Routing-Funktion übernimmt das Rendering (req, res)
Die Middleware Die Funktion kann die folgende Aufgabe ausführen:
Beliebigen Code ausführen.
Änderungen an Anforderungs- und Antwortobjekten vornehmen. Beenden Sie die Anfrage-/Antwortschleife. Rufen Sie die nächste Middleware-Funktion im Stapel auf.Middleware ist auch in Middleware der Anwendungsschicht, Routing-Middleware, integrierte Middleware, Fehlerbehandlungs-Middleware und Middleware von Drittanbietern unterteilt. Im Folgenden wird Folgendes erläutert:
1. Middleware auf AnwendungsebeneDie Middleware auf Anwendungsebene wird mithilfe von app.use und app.METHOD() an das App-Objekt gebunden – Methoden, die HTTP-Anfragen verarbeiten müssen, z B. GET, PUT, POST, ersetzen Sie einfach das vorherige get oder post durch use. Zum Beispiel das folgende Beispiel:
app.use(express.urlencoded())
Zu diesem Zeitpunkt werden wir feststellen, dass die Adresse
http://localhost:8080/geladen wurde, in der Befehlszeile jedoch „Vor dem Zugriff“ angezeigt wird, was darauf hinweist, dass das Programm dies nicht tun wird synchron ausgeführt werden. Wenn die Route weiterhin nach unten übereinstimmt, können Sie die Homepage-Daten erneut abrufen:
req.body.username
Natürlich können Sie das Schreiben auch vereinfachen:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <h1>登陆</h1> <form action="/login" method="POST"> <div> 用户名:<input type="text" name="username"> </div> <div> 密码:<input type="password" name="password"> </div> <button>登陆</button> </form> </body> </html>
- Daher möchten Sie vorher etwas tun Wenn Sie einen Routenabgleich durchführen oder erneut aufzeichnen und die Ausführung nach unten fortsetzen, ist Middleware auf Anwendungsebene zweifellos eine gute Wahl.
2.路由中间件
路由级中间件和应用级中间件类似,只不过他需要绑定express.Router();
var router = express.Router()
Nach dem Login kopieren在匹配路由时,我们使用 router.use() 或 router.VERB() ,路由中间件结合多次callback可用于用户登录及用户状态检测。
const express = require("express"); var app = express(); var router=express.Router(); router.use("/",function(req,res,next){ console.log("匹配前"); next(); }); router.use("/user",function(req,res,next){ console.log("匹配地址:",req.originalUrl); next(); },function(req,res){ res.send("用户登录"); }); app.use("/",router); app.listen(8080);
Nach dem Login kopieren总之在检测用户登录和引导用户应该访问哪个页面是,路由中间件绝对好用。
3.错误处理中间件
顾名思义,它是指当我们匹配不到路由时所执行的操作。错误处理中间件和其他中间件基本一样,只不过其需要开发者提供4个自变量参数。
app.use((err, req, res, next) => { res.sendStatus(err.httpStatusCode).json(err); });
Nach dem Login kopieren一般情况下,我们把错误处理放在最下面,这样我们即可对错误进行集中处理。
const express=require("express"); var app=express(); app.get("/",function(req,res,next){ const err=new Error('Not Found'); res.send("主页"); next(err); }); app.use("/user",function(err,req,res,next){ console.log("用户登录"); next(err); },function(req,res,next){ res.send("用户登录"); next(); }); app.use(function(req,res){ res.status(404).send("未找到指定页面"); }); app.listen(8080);
Nach dem Login kopieren4.内置中间件
从版本4.x开始,Express不再依赖Content,也就是说Express以前的内置中间件作为单独模块,express.static是Express的唯一内置中间件。
express.static(root, [options]);
Nach dem Login kopieren通过express.static我们可以指定要加载的静态资源。
5.第三方中间件
形如之前我们的body-parser,采用引入外部模块的方式来获得更多的应用操作。如后期的cookie和session。
var express = require('express'); var app = express(); var cookieParser = require('cookie-parser');
Nach dem Login kopieren以上就是关于express中间件类型,在实际项目中,中间件都是必不可少的,因此熟悉使用各种中间件会加快项目的开发效率。
更多node相关知识,请访问:nodejs 教程!!
Das obige ist der detaillierte Inhalt vonLassen Sie uns über Get/Post-Anfragen und Middleware in NodeJS sprechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Node.js kann als Backend-Framework verwendet werden, da es Funktionen wie hohe Leistung, Skalierbarkeit, plattformübergreifende Unterstützung, ein umfangreiches Ökosystem und einfache Entwicklung bietet.

Um eine Verbindung zu einer MySQL-Datenbank herzustellen, müssen Sie die folgenden Schritte ausführen: Installieren Sie den MySQL2-Treiber. Verwenden Sie mysql2.createConnection(), um ein Verbindungsobjekt zu erstellen, das die Hostadresse, den Port, den Benutzernamen, das Passwort und den Datenbanknamen enthält. Verwenden Sie „connection.query()“, um Abfragen durchzuführen. Verwenden Sie abschließend Connection.end(), um die Verbindung zu beenden.

Es gibt zwei npm-bezogene Dateien im Node.js-Installationsverzeichnis: npm und npm.cmd. Die Unterschiede sind wie folgt: unterschiedliche Erweiterungen: npm ist eine ausführbare Datei und npm.cmd ist eine Befehlsfensterverknüpfung. Windows-Benutzer: npm.cmd kann über die Eingabeaufforderung verwendet werden, npm kann nur über die Befehlszeile ausgeführt werden. Kompatibilität: npm.cmd ist spezifisch für Windows-Systeme, npm ist plattformübergreifend verfügbar. Nutzungsempfehlungen: Windows-Benutzer verwenden npm.cmd, andere Betriebssysteme verwenden npm.

Die folgenden globalen Variablen sind in Node.js vorhanden: Globales Objekt: global Kernmodul: Prozess, Konsole, erforderlich Laufzeitumgebungsvariablen: __dirname, __filename, __line, __column Konstanten: undefiniert, null, NaN, Infinity, -Infinity

Die Hauptunterschiede zwischen Node.js und Java sind Design und Funktionen: Ereignisgesteuert vs. Thread-gesteuert: Node.js ist ereignisgesteuert und Java ist Thread-gesteuert. Single-Threaded vs. Multi-Threaded: Node.js verwendet eine Single-Threaded-Ereignisschleife und Java verwendet eine Multithread-Architektur. Laufzeitumgebung: Node.js läuft auf der V8-JavaScript-Engine, während Java auf der JVM läuft. Syntax: Node.js verwendet JavaScript-Syntax, während Java Java-Syntax verwendet. Zweck: Node.js eignet sich für I/O-intensive Aufgaben, während Java für große Unternehmensanwendungen geeignet ist.

Ja, Node.js ist eine Backend-Entwicklungssprache. Es wird für die Back-End-Entwicklung verwendet, einschließlich der Handhabung serverseitiger Geschäftslogik, der Verwaltung von Datenbankverbindungen und der Bereitstellung von APIs.

Serverbereitstellungsschritte für ein Node.js-Projekt: Bereiten Sie die Bereitstellungsumgebung vor: Erhalten Sie Serverzugriff, installieren Sie Node.js, richten Sie ein Git-Repository ein. Erstellen Sie die Anwendung: Verwenden Sie npm run build, um bereitstellbaren Code und Abhängigkeiten zu generieren. Code auf den Server hochladen: über Git oder File Transfer Protocol. Abhängigkeiten installieren: Stellen Sie eine SSH-Verbindung zum Server her und installieren Sie Anwendungsabhängigkeiten mit npm install. Starten Sie die Anwendung: Verwenden Sie einen Befehl wie node index.js, um die Anwendung zu starten, oder verwenden Sie einen Prozessmanager wie pm2. Konfigurieren Sie einen Reverse-Proxy (optional): Verwenden Sie einen Reverse-Proxy wie Nginx oder Apache, um den Datenverkehr an Ihre Anwendung weiterzuleiten

Node.js und Java haben jeweils ihre Vor- und Nachteile in der Webentwicklung, und die Wahl hängt von den Projektanforderungen ab. Node.js zeichnet sich durch Echtzeitanwendungen, schnelle Entwicklung und Microservices-Architektur aus, während Java sich durch Support, Leistung und Sicherheit auf Unternehmensniveau auszeichnet.
