从头开始学习Node.js系列教程:http get和post用法分析
本文通过一个例子说明了http get和post在Node.js中的使用。分享给大家参考,如下:
httpserverrequestget.js
/*获取GET请求内容。因为get请求直接嵌入在路径中,所以URL就是完整的请求路径,包括?后一部分,因此您可以手动将后一部分解析为GET请求的参数。node.js中url模块的解析函数提供了这个函数。*/var http=require(' http ');var URL=require(' URL ');var util=require(' util ');函数(req,res){ res.writeHead(200,{ ' Content-Type ' : ' text/plain ' });RES . end(util . inspect(URL . parse(req . URL,true)));}).听(3000);//在浏览器中访问http://localhost:3000/user?[emailprotected]然后检查返回的结果
httpserverrequestpost.js
/* POST请求的所有内容都在请求正文中,而http。服务器请求没有任何属性内容作为请求主体。原因是等待请求体传输可能是一个耗时的任务,比如上传文件,但很多时候我们可能不需要关注请求体的内容,恶意的发文请求会极大地消耗服务器的资源。默认情况下,所有node.js都不会解析请求体。当你需要的时候,你需要手动去做。*/var http=require(' http ');var query string=require(' query string ');var util=require(' util ');http.createServer(函数(req,RES){ var post=' ';//定义了一个post变量,用于临时存储请求体req.on ('data '、function(chunk){//通过req的数据事件监听函数,每次接收到请求体的数据,都会在post变量post=chunk中进行累加;});Req.on('end ',function(){//end事件触发后,通过querystring.parse将post解析为真实的POST请求格式,然后返回给客户端。post=query string . parse(post);RES . end(util . inspect(post));});}).听(3000);注意:在实际生产应用中,不要使用上述简单的方法来获取POST请求,因为它存在严重的效率问题和安全问题。这只是一个帮助你理解的例子。
知识扩展:util.inherits继承
/* util.inherits定义了一个基本对象Base和一个从Base继承的Sub。Base有三个在构造函数中定义的属性和一个在原型中定义的函数。继承是通过util.inherits实现的,注意Sub只继承了原型中base定义的函数,而在构造函数内部创建的Base属性和sayHello函数并没有被Sub继承。*/var util=require(' util ');函数Base(){ this . name=' Base ';this.base=1991this . SayHello=function(){ console . log(' Hello ' this . name);};} base . prototype . show name=function(){ console . log(this . name);};function Sub(){ this . name=' Sub ';}util.inherits(Sub,Base);var objBase=new Base();objbase . show name();objbase . SayHello();console . log(ObjBase);var objSub=new Sub();objsub . show name();//Objsub . SayHello();console . log(Objsub);希望本文对nodejs程序的设计有所帮助。
版权声明:从头开始学习Node.js系列教程:http get和post用法分析是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。