Maison > interface Web > Questions et réponses frontales > Saut de la page de développement de nodejs

Saut de la page de développement de nodejs

PHPz
Libérer: 2023-05-25 11:31:11
original
871 Les gens l'ont consulté

Avec le développement de la technologie front-end, de plus en plus de sites Web et d'applications commencent à adopter l'architecture d'application à page unique (SPA), et les sauts de page et le chargement des données sont gérés par le framework front-end. Cependant, pour certaines applications de sites Web plus traditionnelles, les sauts de page doivent toujours être implémentés via le backend. Cet article explique comment utiliser Node.js pour implémenter le saut de page.

1. Une étude préliminaire sur Node.js

Node.js est un environnement d'exécution JavaScript exécuté côté serveur. Il est construit sur la base du moteur JavaScript Google V8. L'émergence de Node.js brise les chaînes selon lesquelles JavaScript ne peut s'exécuter que du côté du navigateur. Il permet à JavaScript de s'exécuter du côté du serveur, faisant de JavaScript un langage de programmation important dans le développement full-stack.

Les principaux avantages de Node.js sont :

  1. Modèle d'E/S asynchrone à thread unique : particulièrement adapté aux applications réseau à haute concurrence, ce qui peut améliorer considérablement les performances
  2. Développement modulaire : Node.js a un large éventail d'applications ; nombre de modules intégrés , il peut être utilisé après avoir été introduit via la fonction require, et vous pouvez également écrire le module vous-même
  3. Léger : Node.js est très approprié pour traiter des applications réseau légères, telles que la communication en temps réel ; , envoi de messages, etc.

Par conséquent, Node.js est très approprié pour développer le backend de certaines applications Web.

2. Implémenter le saut de page

Dans Node.js, vous devez utiliser un module HTTP pour implémenter le saut de page, appelé "http". Nous pouvons l'utiliser pour créer un serveur Web, écouter les demandes des clients et renvoyer le contenu correspondant. Voici un exemple de code de serveur Web simple basé sur Node.js :

const http = require('http');

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World!');
});

server.listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});
Copier après la connexion

Le code ci-dessus crée un serveur HTTP, écoute sur le port 3000 et renvoie « Hello World ! » lors de l'accès à http://localhost:3000/. . Ensuite, nous devons implémenter le saut de page côté serveur.

1. Redirection jump

Dans le protocole HTTP, le serveur peut envoyer un en-tête de réponse spécial appelé "Redirect" pour indiquer au client qu'il doit accéder à une autre URL. Vous pouvez utiliser la méthode de redirection de l'objet de réponse Node.js pour implémenter la redirection. L'exemple de code est le suivant :

const http = require('http');

const server = http.createServer((req, res) => {
  if (req.url === '/') {
    res.statusCode = 302;
    res.setHeader('Location', '/login');
    res.end();
  } else if (req.url === '/login') {
    res.statusCode = 200;
    res.setHeader('Content-Type', 'text/html');
    res.end('<html><body><h1>Login Page</h1></body></html>');
  } else {
    res.statusCode = 404;
    res.end('Not Found');
  }
});

server.listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});
Copier après la connexion

Dans le code ci-dessus, lors de la demande du chemin racine "/", nous définissons le code d'état de la réponse sur 302, indiquant qu'une redirection est requise. Définissez ensuite le champ Emplacement de l'en-tête de réponse sur "/login". Après avoir reçu la réponse, le client passera automatiquement à la page "/login". Lorsque "/login" est demandé, nous renvoyons un morceau de code HTML utilisé pour afficher la "page de connexion". Notez que lors de la définition des en-têtes de réponse, si vous devez convertir les données en chaîne, vous pouvez utiliser la méthode JSON.stringify().

2. Saut de soumission de formulaire

La soumission de formulaire est une méthode courante de saut de page, qui peut soumettre les données saisies par l'utilisateur au serveur pour traitement. La soumission du formulaire peut être effectuée à l'aide des méthodes HTTP POST ou GET. Dans Node.js, nous pouvons également surveiller les requêtes POST ou GET du client et effectuer le traitement logique correspondant en fonction du contenu de la requête. L'exemple de code est le suivant :

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

const server = http.createServer((req, res) => {
  if (req.method === 'GET' && req.url === '/login') {
    res.statusCode = 200;
    res.setHeader('Content-Type', 'text/html');
    res.end(`
      <html>
        <body>
          <h1>Login</h1>
          <form method="post" action="/login">
            <label for="username">Username:</label>
            <input type="text" id="username" name="username" required>
            <br>
            <label for="password">Password:</label>
            <input type="password" id="password" name="password" required>
            <br>
            <button type="submit">Login</button>
          </form>
        </body>
      </html>
    `);
  } else if (req.method === 'POST' && req.url === '/login') {
    let body = '';

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

    req.on('end', () => {
      const {username, password} = querystring.parse(body);
      res.setHeader('Content-Type', 'text/html');
      if (username === 'admin' && password === '123456') {
        res.statusCode = 302;
        res.setHeader('Location', '/home');
        res.end();
      } else {
        res.statusCode = 401;
        res.end(`
          <html>
            <body>
              <h1>Invalid Credentials</h1>
            </body>
          </html>
        `);
      }
    });
  } else if (req.method === 'GET' && req.url === '/home') {
    res.statusCode = 200;
    res.setHeader('Content-Type', 'text/html');
    res.end(`
      <html>
        <body>
          <h1>Welcome to Home</h1>
        </body>
      </html>
    `);
  } else {
    res.statusCode = 404;
    res.end('Not Found');
  }
});

server.listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});
Copier après la connexion

Dans le code ci-dessus, lorsque le chemin de la requête est "/login" et que la méthode de requête est GET, nous renvoyons une page de formulaire de connexion permettant à l'utilisateur de saisir un nom d'utilisateur et un mot de passe pour se connecter. Lorsque l'utilisateur clique sur le bouton de connexion pour soumettre le formulaire, le formulaire est soumis au serveur en mode POST.Nous utilisons la chaîne de requête du module natif de Node.js pour analyser le corps de la requête POST et déterminer si le nom d'utilisateur et le mot de passe saisis par l'utilisateur a raison. Si c'est correct, nous renvoyons une réponse de redirection et sautons automatiquement le navigateur vers la page "/home" ; sinon, nous renvoyons un code d'état 401, indiquant un accès non autorisé.

3. Résumé

Cet article explique comment utiliser Node.js pour implémenter des sauts de page, y compris des sauts de redirection et des sauts de soumission de formulaire. Node.js présente les avantages d'un développement léger, à haute concurrence et modulaire. Il est très approprié pour développer le backend d'applications Web. C'est également l'une des technologies qui a attiré beaucoup d'attention et d'amour ces dernières années. En étudiant les points de connaissances de cet article, je pense que vous maîtrisez la méthode de saut de page basée sur Node.js. Je vous souhaite à tous une bonne étude !

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