//引入模块
var http=require('http');
//创建服务
var server = http.createServer(function(req,res){
//响应头
res.writeHead(200,{'Content-Type':'text/html'});
//相应内容
res.write('<p>connect server successfully!!!!</p>');
//响应结束
res.end('<p>complete!</p>');
//监听端口
})
server.listen(3000);
server.on("close",function(){
console.log("sever is closed");
})
server.close();
二、服务器请求 http.ServerRequest
1.get请求
是url完整的请求,直接嵌入在路径中,包括了“?”后面部分。node.js的url.parse(str,flag)将解析“?”后面的部分。
var http=require('http');
var urls=require('url');
var util=require('util');
//创建服务
http.createServer(function(req,res){
res.writeHead(200,{'Content-Type':'text/plain'});
//解析并以字符串形式返回给客户端
res.end(util.inspect(urls.parse(req.url,true)));
}).listen(3000);
2.post请求
请求的内容全部都在请求体中,http.ServerRequest并没有一个属性内容为请求体,因为请求体的传输是一个耗时的工作,所以node.js不会自动解析请求体,需要手动解析。
var http=require('http');
var queryStr=require('querystring');
var util=require('util');
//创建服务
http.createServer(function(req,res){
var post='';
//注册data事件监听函数,接受请求体的数据
req.on('data',function(chunk){
post+=chunk;
})
req.on('end',function(){
//解析成真正的post为真正的post请求格式,相当于Ext.decode();(json格式)
post=queryStr.parse(post);
//向前端返回
res.end(util.inspect(post));
})
}).listen(3000);
二、返回客户端 http.ServerResponse
代码请参照上面,详细可参照API文档
博客主要介绍了Node.js中服务器请求与返回客户端的相关内容。服务器请求分为get请求和post请求,get请求是url完整请求,可通过url.parse解析;post请求内容在请求体中,需手动解析。返回客户端部分可参照代码和API文档。
293

被折叠的 条评论
为什么被折叠?



