Inhaltsverzeichnis
1. Installieren Sie
So richten Sie eine POST-Anfrage in Express ein" >So richten Sie eine POST-Anfrage in Express ein
Login-Fall:
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. " >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.
Beliebigen Code ausführen.
Middleware ist auch in Middleware der Anwendungsschicht, Routing-Middleware, integrierte Middleware, Fehlerbehandlungs-Middleware und Middleware von Drittanbietern unterteilt. Im Folgenden wird Folgendes erläutert:
2.路由中间件" >2.路由中间件
3.错误处理中间件" >3.错误处理中间件
4.内置中间件" >4.内置中间件
5.第三方中间件" >5.第三方中间件
Heim Web-Frontend js-Tutorial Lassen Sie uns über Get/Post-Anfragen und Middleware in NodeJS sprechen

Lassen Sie uns über Get/Post-Anfragen und Middleware in NodeJS sprechen

Dec 08, 2021 pm 07:01 PM
nodejs 中间件

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!

Lassen Sie uns über Get/Post-Anfragen und Middleware in NodeJS sprechen

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=0002

Holen 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.

Wenn Folgendes gesendet wird:

http://localhost:8080/login?goods1=0001&goods2=0002

Die Antwort erfolgt durch:

req.query
Nach dem Login kopieren

Er erhält alle Daten oder
req.query.goods1
req.query.goods2
Nach dem Login kopieren

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>
Nach dem Login kopieren

2. Richten Sie die Parsing-Body-Middleware ein

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);
Nach dem Login kopieren

Login-Fall:

HTML:

<form action="#" method="post" enctype="application/x-www-form-urlencoded">
</form>
Nach dem Login kopieren

1. Der Browser sendet eine Anfrage

enctype属性一般设置为“application/x-www-form-urlencoded”,如果设置成multipart/form-dataDer 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 Anwendungsebene

Die 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())
Nach dem Login kopieren

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
Nach dem Login kopieren

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>
Nach dem Login kopieren
    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.
  • 路由级中间件和应用级中间件类似,只不过他需要绑定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

    总之在检测用户登录和引导用户应该访问哪个页面是,路由中间件绝对好用。

    顾名思义,它是指当我们匹配不到路由时所执行的操作。错误处理中间件和其他中间件基本一样,只不过其需要开发者提供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(&#39;Not Found&#39;);
        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 kopieren

    从版本4.x开始,Express不再依赖Content,也就是说Express以前的内置中间件作为单独模块,express.static是Express的唯一内置中间件。

    express.static(root, [options]);
    Nach dem Login kopieren

    通过express.static我们可以指定要加载的静态资源。

    形如之前我们的body-parser,采用引入外部模块的方式来获得更多的应用操作。如后期的cookie和session。

    var express = require(&#39;express&#39;);
    var app = express();
    var cookieParser = require(&#39;cookie-parser&#39;);
    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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ist NodeJS ein Backend-Framework? Ist NodeJS ein Backend-Framework? Apr 21, 2024 am 05:09 AM

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.

So verbinden Sie NodeJS mit der MySQL-Datenbank So verbinden Sie NodeJS mit der MySQL-Datenbank Apr 21, 2024 am 06:13 AM

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.

Was ist der Unterschied zwischen den Dateien npm und npm.cmd im Installationsverzeichnis von nodejs? Was ist der Unterschied zwischen den Dateien npm und npm.cmd im Installationsverzeichnis von nodejs? Apr 21, 2024 am 05:18 AM

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.

Was sind die globalen Variablen in NodeJS? Was sind die globalen Variablen in NodeJS? Apr 21, 2024 am 04:54 AM

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

Gibt es einen großen Unterschied zwischen NodeJS und Java? Gibt es einen großen Unterschied zwischen NodeJS und Java? Apr 21, 2024 am 06:12 AM

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.

Ist NodeJS eine Back-End-Entwicklungssprache? Ist NodeJS eine Back-End-Entwicklungssprache? Apr 21, 2024 am 05:09 AM

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.

So stellen Sie das NodeJS-Projekt auf dem Server bereit So stellen Sie das NodeJS-Projekt auf dem Server bereit Apr 21, 2024 am 04:40 AM

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

Welches soll man zwischen NodeJS und Java wählen? Welches soll man zwischen NodeJS und Java wählen? Apr 21, 2024 am 04:40 AM

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.

See all articles