nodejs erhält die Post-Jump-Seite

WBOY
Freigeben: 2023-05-28 09:54:07
Original
709 Leute haben es durchsucht

In der Webentwicklung gibt es viele Gelegenheiten, in denen wir Formulardaten per POST übermitteln und dann nach der entsprechenden Verarbeitung im Hintergrund zu einer anderen Seite springen müssen. Wie erhält man bei Verwendung von Node.js als Backend die Daten der POST-Anfrage und verarbeitet sie entsprechend?

In diesem Artikel wird erläutert, wie Sie Node.js verwenden, um eine POST-Sprungseite zu erhalten. Der Inhalt umfasst hauptsächlich die folgenden Inhalte:

  1. Verstehen Sie die Prinzipien der POST-Anfrage und der Sprungseite.
  2. Verwenden Sie Node.js, um POST-Anfragedaten zu erhalten.
  3. Prozess POST-Anfragedaten und Sprung zur angegebenen Seite
  4. Beispieldemonstration

1. Verstehen Sie die Prinzipien der POST-Anfrage und der Sprungseite

  1. POST-Anfrage

Im HTTP-Protokoll gibt es zwei gängige Anfragemethoden, nämlich GET und POST. GET-Anfragen werden verwendet, um vorhandene Ressourcen anzufordern (z. B. das Anzeigen eines Bildes), während POST-Anfragen zum Senden von Daten an den Server verwendet werden. Diese Daten werden zum Erstellen oder Ändern von Ressourcen verwendet, z. B. zum Senden von Formulardaten.

  1. Seite springen

In Webanwendungen müssen wir oft zu verschiedenen Seiten springen. Das Springen zu einer Seite kann durch Festlegen des Standorts im HTTP-Antwortheader erfolgen, zum Beispiel:

HTTP/1.1 302 Found
Location: http://www.example.com/new-page.html
Nach dem Login kopieren

Wenn der Browser diese Antwort empfängt, springt er automatisch zur angegebenen Seite.

2. Verwenden Sie Node.js, um POST-Anfragedaten zu erhalten.

Node.js bietet ein HTTP-Modul, mit dem ein Webserver erstellt werden kann. Um POST-Anfragedaten zu erhalten, kann das Anfrageereignis verwendet werden. Wenn der Browser eine Anfrage an den Server sendet, löst der Server das Anfrageereignis aus und übergibt das Anfrageobjekt und das Antwortobjekt an die entsprechende Rückruffunktion. Die Schritte zum Abrufen von POST-Anfragedaten im Anfrageereignis sind wie folgt:

  1. Erstellen Sie eine Variable in der Rückruffunktion, um den Inhalt der Post-Anfrage zu speichern

    let postData = '';
    Nach dem Login kopieren
  2. Hören Sie sich das Datenereignis an, das jederzeit ausgelöst wird Anforderungsdaten werden empfangen

    req.on('data', chunk => {
        postData += chunk.toString();
    });
    Nach dem Login kopieren

    req zeigt auf das Anforderungsobjekt, wobei data die im Anforderungsobjekt enthaltenen Daten darstellt und chunk den empfangenen Datenblock darstellt.

  3. Hören Sie sich das Endereignis an, das anzeigt, dass der Datenempfang abgeschlossen ist

    req.on('end', () => {
        console.log(postData);
    });
    Nach dem Login kopieren

    Nachdem der Datenempfang abgeschlossen ist, können postData entsprechend verarbeitet werden.

3. Verarbeiten Sie die POST-Anfragedaten und springen Sie zur angegebenen Seite.

Nachdem wir die POST-Anfragedaten erhalten haben, müssen wir die entsprechende Verarbeitung durchführen und dann zur angegebenen Seite springen. Die spezifischen Implementierungsschritte lauten wie folgt:

  1. Führen Sie die http- und Querystring-Module von Node.js ein

    const http = require('http');
    const querystring = require('querystring');
    Nach dem Login kopieren
  2. Verarbeiten Sie POST-Anforderungsdaten im Anforderungsereignis

    req.on('data', chunk => {
        postData += chunk.toString();
    });
    
    req.on('end', () => {
        const data = querystring.parse(postData);
        // 相应的处理逻辑
    });
    Nach dem Login kopieren

    Nachdem die Daten empfangen wurden, können Sie das Querystring-Modul verwenden um postData in ein JavaScript-Objekt umzuwandeln, um die Verarbeitung zu erleichtern.

  3. Antwort auf Sprungseite

    res.writeHead(302, {
        Location: '/new-page.html'
    });
    res.end();
    Nach dem Login kopieren

    Stellen Sie die Position im Antwortheader auf den Pfad der Seite ein, zu der Sie springen möchten.

4. Beispieldemonstration

Zur Zweckmäßigkeit der Demonstration wird hier ein einfacher Webserver simuliert, der das http-Modul von Node.js verwendet, um POST-Anfragen zu verarbeiten und zu einer neuen Seite zu springen.

const http = require('http');
const querystring = require('querystring');

const server = http.createServer((req, res) => {
    if(req.method === 'POST') {
        let postData = '';
        req.on('data', chunk => {
            postData += chunk.toString();
        });

        req.on('end', () => {
            const data = querystring.parse(postData);
            console.log(data);

            // 响应跳转到新页面
            res.writeHead(302, {
                Location: '/new-page.html'
            });
            res.end();
        });
    } else {
        res.writeHead(200, {'Content-Type': 'text/html'});
        res.write(`
            <form method="post">
                <input type="text" name="name" value=""/>
                <input type="submit" value="Submit"/>
            </form>
        `);
        res.end();
    }
});

server.listen(8000);
Nach dem Login kopieren

Nachdem der Server gestartet wurde, können Sie durch Zugriff auf http://localhost:8000 eine einfache Formularseite zum Senden von Daten sehen. Nach dem Absenden der Formulardaten wird dann zu einer neuen Seite gesprungen.

Zusammenfassung

Mit den oben genannten Schritten können Sie bei Verwendung von Node.js als Backend problemlos die POST-Anfragedaten abrufen, verarbeiten und entsprechend zur angegebenen Seite springen. In der Praxis können je nach Bedarf entsprechende Anpassungen und Verbesserungen vorgenommen werden.

Das obige ist der detaillierte Inhalt vonnodejs erhält die Post-Jump-Seite. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!