Maison > Article > interface Web > nodejs obtient la page de saut après
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 sauter la page
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.
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
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 :
Créez une variable dans la fonction de rappel pour stocker le contenu de la requête post
let postData = '';
É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(); });
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.
Écoutez l'événement de fin, indiquant que la réception des données est terminée
req.on('end', () => { console.log(postData); });
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 :
Introduire les modules http et querystring de Node.js
const http = require('http'); const querystring = require('querystring');
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); // 相应的处理逻辑 });
Une fois les données reçues, vous pouvez utiliser le module querystring pour convertir postData en un objet JavaScript, pour faciliter le traitement.
Réponse pour sauter la page
res.writeHead(302, { Location: '/new-page.html' }); res.end();
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);
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!