nodejs obtient la page de saut après

WBOY
Libérer: 2023-05-28 09:54:07
original
710 Les gens l'ont consulté

Dans le développement Web, il arrive souvent que nous devions soumettre des données de formulaire via POST, puis passer à une autre page après avoir effectué le traitement correspondant en arrière-plan. Lorsque vous utilisez Node.js comme backend, comment obtenir les données de la requête POST et les traiter en conséquence ?

Cet article expliquera comment utiliser Node.js pour obtenir une page de saut POST, comprenant principalement le contenu suivant :

  1. Comprendre les principes de la requête POST et de la page de saut
  2. Utiliser Node.js pour obtenir les données de la requête POST
  3. Processus POST demande des données et accède à la page spécifiée
  4. Exemple de démonstration

1 Comprendre les principes de la requête POST et sauter la page

  1. Requête POST

Dans le protocole HTTP, il existe deux méthodes de requête courantes, à savoir GET et POSTE. Les requêtes GET sont utilisées pour demander des ressources existantes (telles que l'affichage d'une image), tandis que les requêtes POST sont utilisées pour soumettre des données au serveur. Ces données sont utilisées pour créer ou modifier des ressources, telles que la soumission de données de formulaire.

  1. Page de saut

Dans les applications Web, nous devons souvent accéder à différentes pages. Passer à une page peut être effectué en définissant l'emplacement dans l'en-tête de la réponse HTTP, par exemple :

HTTP/1.1 302 Found
Location: http://www.example.com/new-page.html
Copier après la connexion

Lorsque le navigateur reçoit cette réponse, il passera automatiquement à la page spécifiée.

2. Utilisez Node.js pour obtenir les données de la requête POST

Node.js fournit un module HTTP qui peut être utilisé pour créer un serveur Web. Afin d'obtenir les données de la requête POST, l'événement request peut être utilisé. Lorsque le navigateur envoie une requête au serveur, le serveur déclenche l'événement de requête et transmet l'objet de requête et l'objet de réponse à la fonction de rappel correspondante. Les étapes pour obtenir les données de la requête POST dans l'événement request sont les suivantes :

  1. Créez une variable dans la fonction de rappel pour stocker le contenu de la requête post

    let postData = '';
    Copier après la connexion
  2. Écoutez l'événement data, qui sera déclenché à chaque fois les données de la requête sont reçues

    req.on('data', chunk => {
        postData += chunk.toString();
    });
    Copier après la connexion

    req pointe vers l'objet de la requête, où data représente les données contenues dans l'objet de la requête et chunk représente le bloc de données reçu.

  3. Écoutez l'événement de fin, indiquant que la réception des données est terminée

    req.on('end', () => {
        console.log(postData);
    });
    Copier après la connexion

    Une fois la réception des données terminée, postData peut être traité en conséquence.

3. Traitez les données de la requête POST et accédez à la page spécifiée

Après avoir obtenu les données de la requête POST, nous devons effectuer le traitement correspondant, puis accéder à la page spécifiée. Les étapes spécifiques de mise en œuvre sont les suivantes :

  1. Introduire les modules http et querystring de Node.js

    const http = require('http');
    const querystring = require('querystring');
    Copier après la connexion
  2. Traitement des données de requête POST dans l'événement de requête

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

    Une fois les données reçues, vous pouvez utiliser le module querystring pour convertir postData en un objet JavaScript, pour faciliter le traitement.

  3. Réponse pour sauter la page

    res.writeHead(302, {
        Location: '/new-page.html'
    });
    res.end();
    Copier après la connexion

    Définissez l'emplacement dans l'en-tête de réponse sur le chemin de la page à laquelle vous souhaitez accéder.

4. Exemple de démonstration

Pour faciliter la démonstration, un simple serveur Web est simulé ici en utilisant le module http de Node.js pour traiter les requêtes POST et accéder à une nouvelle page.

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);
Copier après la connexion

Après le démarrage du serveur, en accédant à http://localhost:8000, vous pouvez voir une simple page de formulaire pour soumettre des données. Ensuite, après avoir soumis les données du formulaire, celui-ci passera à une nouvelle page.

Résumé

Avec les étapes ci-dessus, lorsque vous utilisez Node.js comme backend, vous pouvez facilement obtenir les données de la requête POST, les traiter et accéder à la page spécifiée en conséquence. Dans les applications pratiques, des adaptations et améliorations correspondantes peuvent être apportées en fonction de besoins spécifiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!