从零开始学习Node.js系列教程一:http get和post用法分析

 更新时间:2017年04月13日 10:21:02   作者:MIN飞翔  
这篇文章主要介绍了从零开始学习Node.js系列教程一:http get和post用法,结合具体实例形式分析了nodejs中get与post请求的使用方法与相关注意事项,需要的朋友可以参考下

本文实例讲述了Node.js中http get和post用法。分享给大家供大家参考,具体如下:

httpserverrequestget.js

/*
获取GET请求内容
由于GET请求直接被嵌入在路径中,URL是完整的请求路径,包括了?后面的部分,因此你可以手动解析后面的内容作为GET请求的参数。
node.js中url模块中的parse函数提供了这个功能。
 */
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=joey&email=joey@joey.com 然后查看返回结果

httpserverrequestpost.js

/*
POST请求的内容全部的都在请求体中,http.ServerRequest并没有一个属性内容为请求体,原因是等待请求体传输可能是一件耗时的工作,
比如上传文件,而很多时候我们可能并不需要理会请求体的内容,恶意的POST请求会大大消耗服务器的资源,所有node.js默认是不会解析请求体的,
当你需要的时候,需要手动来做。
 */
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);

注意:不要在真正的生产应用中使用上面这种简单的方法来获取POST请求,因为它有严重的效率问题和安全问题,这只是一个帮你理解的示例。

知识扩展:util.inherits继承

/*
 util.inherits
 定义了一个基础对象Base和一个继承自Base的Sub,Base有三个在构造函数内定义的属性和一个原型中定义的函数,通过util.inherits实现继承
 注意,Sub仅仅继承了Base在原型中定义的函数,而构造函数内部创造的base属性和sayHello函数都没有被Sub继承。
 */
var util = require('util');
function Base(){
  this.name = 'base';
  this.base = 1991;
  this.sayHello = function(){
    console.log('Hello ' + this.name);
  };
}
Base.prototype.showName = function(){
  console.log(this.name);
};
function Sub(){
  this.name = 'sub';
}
util.inherits(Sub, Base);
var objBase = new Base();
objBase.showName();
objBase.sayHello();
console.log(objBase);
var objSub = new Sub();
objSub.showName();
//objSub.sayHello();
console.log(objSub);

希望本文所述对大家nodejs程序设计有所帮助。

相关文章

  • 利用Node转换Excel成JSON的详细步骤

    利用Node转换Excel成JSON的详细步骤

    最近工作中遇到一个需求,大致需求就是将Excel文件在导入时解析为json格式转换数据结构再传输给后台,下面这篇文章主要给大家介绍了关于如何利用Node转换Excel成JSON的详细步骤,需要的朋友可以参考下
    2022-11-11
  • 基于豆瓣API+Angular开发的web App

    基于豆瓣API+Angular开发的web App

    这篇文章主要介绍了基于豆瓣API+Angular开发的web App的方法和示例代码,效果非常棒,有需要的小伙伴参考下
    2015-01-01
  • node实现封装一个图片拼接插件

    node实现封装一个图片拼接插件

    这篇文章主要介绍了node实现封装一个图片拼接插件,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-08-08
  • 玩转Koa之核心原理分析

    玩转Koa之核心原理分析

    这篇文章主要介绍了玩转Koa之核心原理分析,本文从封装创建应用程序函数、扩展res和req、中间件实现原理、异常处理的等这几个方面来介绍,感兴趣的可以了解一下
    2018-12-12
  • docker中编译nodejs并使用nginx启动

    docker中编译nodejs并使用nginx启动

    这篇文章主要介绍了docker中编译nodejs并使用nginx启动的相关资料,需要的朋友可以参考下
    2017-06-06
  • Nodejs处理异常操作示例

    Nodejs处理异常操作示例

    这篇文章主要介绍了Nodejs处理异常操作,结合实例形式分析了nodejs针对异常的捕获与处理相关操作技巧,需要的朋友可以参考下
    2018-12-12
  • Express实现定时发送邮件的示例代码

    Express实现定时发送邮件的示例代码

    在开发中我们有时候需要每隔 一段时间发送一次电子邮件,或者在某个特定的时间进行发送邮件,无需手动去操作,基于这样的情况下我们需要用到了定时任务。本文就来用Express实现定时发送邮件吧
    2023-04-04
  • Node.js里面的内置模块和自定义模块的实现

    Node.js里面的内置模块和自定义模块的实现

    这篇文章主要介绍了Node.js里面的内置模块和自定义模块的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • 浅谈Nodejs应用主文件index.js

    浅谈Nodejs应用主文件index.js

    这篇文章主要介绍了浅谈Nodejs应用主文件index.js的相关资料,需要的朋友可以参考下
    2016-08-08
  • nw.js实现类似微信的聊天软件

    nw.js实现类似微信的聊天软件

    本文给大家介绍的是使用nw.js实现类似微信的聊天软件,还处于测试阶段,功能非常少,大家一起来添砖加瓦吧。
    2015-03-03

最新评论