HTTP 模块
所有后端动态语言要想运行起来,都得先搭建服务器。Node.js 搭建服务器需要用到一个原生的模块 http。
- 加载 http 模块
- 调用 http.createServer() 方法创建服务,方法接受一个回调函数,回调函数中有两个参数,第一个是请求体,第二个是响应体。
- 在回调函数中一定要使用 response.end() 方法,用于结束当前请求,不然当前请求会一直处在等待的状态。
- 调用 listen 监听一个端口。
//原生模块
var http = require('http');
http.createServer(function(reqeust, response){
response.end('Hello Node');
}).listen(8080);
参数接受 -- GET
当以 GET 请求服务器的时候,服务器可以通过 request.mothod 来判断当前的请求方式并通过 request.url 来获取当前请求的参数。
var http = require('http');
var url = require('url');
http.createServer(function(req, res){
var params = url.parse(req.url, true).query;
res.end(params);
}).listen(3000);
参数接受 -- POST
不同于 GET 请求,POST 请求不能通协 url 进行获取,这个时候就需要用到请求体的事件进行监听获取
var http = require('http');
var util = require('util');
var querystring = require('querystring');
http.createServer(function(req, res){
// 定义了一个post变量,用于暂存请求体的信息
var post = '';
// 通过req的data事件监听函数,每当接受到请求体的数据,就累加到post变量中
req.on('data', function(chunk){
post += chunk;
});
// 在end事件触发后,通过querystring.parse将post解析为真正的POST请求格式,然后向客户端返回。
req.on('end', function(){
post = querystring.parse(post);
res.end(util.inspect(post));
});
}).listen(3000);
No Comments