Cette semaine, le projet a été réalisé (il faut dire que cela a toujours été comme ça). Le résumé doit être double sur la base de différentes situations ~ Cet article enregistre le résumé d'apprentissage sur le nœud, et le prochain article est la connaissance de la frontale du Web appris du projet.
1. Http
Le module HTTP du nœud a été exposé dans le premier article. Ici, nous apprendrons les API qui apparaissent dans plusieurs routines.
La copie de code est la suivante:
var qs = require ('querystring');
require ('http'). CreateServer (function (req, res) {
if ('/' == req.url) {
res.writehead (200, {'contenu-type': 'text / html'});
res.end ([
'<form méthode = "post" action = "/ url">',
'<h1> ma forme </h1>',
'<fieldset>',
'<label> Informations personnelles </BEALD>',
'<p> quel est votre nom? </p>',
'<input type = "text" name = "name">',
'<p> <button> Soumettre </futton> </p>',
'</form>',
].rejoindre(''));
} else if ('/ url' == req.url && 'post' == req.method) {
var body = '';
req.on ('data', fonction (chunk) {
corps + = morceau;
});
req.on ('end', function () {
res.writehead (200, {'contenu-type': 'text / html'});
res.end ('<b> Votre nom est <b>' + qs.parse (body) .name + '</b> </p>');
});
}autre{
res.writehead (404);
res.end («non trouvé»);
}
}). écouter (3000);
Le paramètre de la fonction CreateServer ([requestListener]) est une fonction de fonction de rappel (req, res), où req (request request) est une instance de http.incomingMessage, et res (réponse) est une instance de http.serverrrponse.
Nous avons utilisé l'URL, la chaîne de méthode de Res et deux méthodes Writehead and End. Comme son nom l'indique, l'URL est l'URL qui enregistre HTTP (tout après le nom d'hôte), et la méthode est la méthode qui enregistre la réponse HTTP.
Writehead (statuscode, [RaisonPhrase], [En-têtes]) est utilisé pour envoyer des informations d'en-tête de réponse HTTP. Cette méthode est appelée une seule fois lorsque le message arrive et doit être appelé avant une méthode comme la fin. Si vous le faites à la place, appelez d'abord la méthode écrite (morceau, [codage]) ou end ([données], [codage]), le système enregistrera automatiquement un contenu d'en-tête de réponse (invisible, immuable) et appellera la méthode de la tête d'écriture.
La méthode de fin enverra un message au serveur pour indiquer que la réponse est envoyée, donc cette méthode doit être appelée chaque fois que la réponse est envoyée. Lorsque ses paramètres ont du contenu (tels que les routines), cette méthode équivaut à appeler à la fois des méthodes d'écriture («contenu», [codage]) et de fin. C'est tout à fait pratique.
Ensuite, la routine utilise req.on pour écouter les événements et se lier à req (message). Son prototype est Emiter.on (événement, auditeur), REQ est l'objet qui génère des événements, et dans la fonction d'écoute, cela pointe vers l'objet EventEmitter associé à la fonction d'écoute actuelle.