Latest web development tutorials

Node.js richieste GET / POST

In molte scene, i nostri server sono tenuti a trattare con il browser dell'utente, come ad esempio un invio di form.

Modulo inviato al server in genere utilizzano le richieste GET / POST.

In questo capitolo introdurremo Node.js GET / POST richieste di tutti.


GET richiesta per ottenere contenuti

Dal momento che le richieste GET sono integrati direttamente nel percorso, URL è il percorso completo della richiesta, tra cui la? Parte posteriore, in modo da poter analizzare manualmente il contenuto indietro come una richiesta di parametri GET.

node.js analizzare le funzioni del modulo URL fornire questa funzionalità.

var http = require('http');
var url = require('url');
var util = require('util');

http.createServer(function(req, res){
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end(util.inspect(url.parse(req.url, true)));
}).listen(3000);

L'accesso nel browser http://localhost:3000/user?name=w3c&[email protected] name=w3c&[email protected]? Quindi visualizzare i risultati restituiti:

w3cnodejs

Ottenere POST contenuti richiesta

Inserisci richiesta tutti i contenuti nel corpo della richiesta, http.ServerRequest proprietà non ha un contenuto del corpo per la richiesta, perché la richiesta di trasmissione del corpo di attesa può essere un lavoro che richiede tempo.

Come ad esempio il caricamento di file, e molte volte non potremmo avere bisogno di ignorare la richiesta di contenuti corpo, richiesta POST dannoso notevolmente consumare le risorse del server, tutti node.js default non risolverà il corpo della richiesta, in caso di necessità, è necessario manualmente fare.

var http = require('http');
var querystring = require('querystring');
var util = require('util');

http.createServer(function(req, res){
    var post = '';     //定义了一个post变量,用于暂存请求体的信息

    req.on('data', function(chunk){    //通过req的data事件监听函数,每当接受到请求体的数据,就累加到post变量中
        post += chunk;
    });

    req.on('end', function(){    //在end事件触发后,通过querystring.parse将post解析为真正的POST请求格式,然后向客户端返回。
        post = querystring.parse(post);
        res.end(util.inspect(post));
    });
}).listen(3000);