Latest web development tutorials

نود.جي إس طلبات GET / مشاركة

في العديد من المشاهد، يطلب من الخوادم الخاصة بنا للتعامل مع متصفح المستخدم، مثل تقديم النموذج.

شكل المقدمة إلى خادم عموما استخدام طلبات GET / POST.

هذا الفصل سوف نقدم نود.جي إس الحصول على / يطلب وظيفة الجميع.


طلب GET للحصول على المحتوى

منذ هي جزء لا يتجزأ طلبات GET مباشرة في المسار، URL هو المسار الكامل للطلب، بما في ذلك؟ العودة جزئيا، حتى تتمكن من تحليل محتويات يدويا مرة أخرى كما طلب المعلمة GET.

نود.جي إس تحليل وظائف وحدة رابط توفر هذه الوظيفة.

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);

الوصول في المتصفح http://localhost:3000/user?name=w3c&[email protected] name=w3c&[email protected]؟ ثم عرض النتائج التي تم إرجاعها:

w3cnodejs

الحصول على وظيفة المحتوى طلب

وظيفة يطلب من جميع محتوى في الجسم الطلب، http.ServerRequest الملكية لايوجد محتوى الجسم لهذا الطلب، لأن طلب نقل الانتظار الجسم يمكن أن يكون مهمة تستغرق وقتا طويلا.

مثل تحميل الملفات، ومرات عديدة ونحن قد لا تحتاج إلى تجاهل المحتوى طلب الهيئة، طلب POST الخبيثة سوف تستهلك كثيرا موارد الخادم، كل نود.جي إس الافتراضي سوف يتم تحليل نص طلب، عندما كنت في حاجة إليها، تحتاج إلى يدويا القيام به.

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);