Heim  >  Artikel  >  Web-Frontend  >  nodejs erhält die Post-Jump-Seite

nodejs erhält die Post-Jump-Seite

WBOY
WBOYOriginal
2023-05-28 09:54:07668Durchsuche

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

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 = '';
  2. Hören Sie sich das Datenereignis an, das jederzeit ausgelöst wird Anforderungsdaten werden empfangen

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

    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);
    });

    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');
  2. Verarbeiten Sie POST-Anforderungsdaten im Anforderungsereignis

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

    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();

    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);

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!

Stellungnahme:
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