了不起的node.js读书笔记之node的学习总结


Posted in Javascript onDecember 22, 2014

这周做项目做得比较散(应该说一直都是这样),总结就依据不同情境双开吧~这篇记录的是关于node的学习总结,而下一篇是做项目学到的web前端的知识。

1.HTTP篇

  node的HTTP模块在第一篇时接触过,这里来学习几个例程中出现的API。

var qs = require('querystring');
require('http').createServer(function(req, res){

    if('/' == req.url){

        res.writeHead(200, {'Content-Type': 'text/html'});

        res.end([

            '<form method="POST" action="/url">',

            '<h1>My form</h1>',

            '<fieldset>',

            '<label>Personal information</label>',

            '<p>What is your name?</p>',

            '<input type="text" name="name">',

            '<p><button>Submit</button></p>',

            '</form>',

        ].join(''));

    }else if('/url' == req.url && 'POST' == req.method){

        var body = '';

        req.on('data', function(chunk){

            body += chunk;

        });

        req.on('end', function(){

            res.writeHead(200, {'Content-Type': 'text/html'});

            res.end('<b>Your name is <b>' + qs.parse(body).name + '</b></p>');

        });

    }else{

        res.writeHead(404);

        res.end('not found');

    }

 }).listen(3000);

  creatServer([requestListener])函数的参数是一个回调函数function(req, res),其中的req(请求request)是http.IncomingMessage的一个实例,res(响应)则是http.ServerRrsponse的实例。

  我们用到了res的url、method字符串和两个方法writeHead、end。顾名思义,url就是记录HTTP的URL(主机名后面所有的东西),method就是记录HTTP响应的方法。

  writeHead(statusCode, [reasonPhrase], [headers])用来发送一个http响应头信息,此方法只有当消息到来时才被调用一次,并且必须在end这一类方法之前调用。如果你反而为之,先调用了write(chunk, [encoding])或者end([data], [encoding])方法,系统会自动记录一个不易见、易变的(总之不好的)响应头内容并调用writeHead这个方法。

  而end方法会对服务器发出消息表示响应的信息都发送完毕,所以每次响应发送完毕时必须调用这个方法。当其参数有内容(如例程)时,这个方法等于同时调用了write('内容', [encoding])和end方法。这还是相当方便的。

  接下来,例程使用了req.on来监听事件并绑定在req(message)上。其原型是Emitter.on(event, listener),req就是产生事件的对象,并且在在监听函数中this指向当前监听函数所关联的EventEmitter对象。

Javascript 相关文章推荐
让AJAX不依赖后端接口实现方案
Dec 03 Javascript
javascript 拷贝节点cloneNode()使用介绍
Apr 03 Javascript
jQuery实现图片预加载效果
Nov 27 Javascript
Javascript技术栈中的四种依赖注入详解
Feb 23 Javascript
Javascript数组Array方法解读
Mar 13 Javascript
JS 动态判断PC和手机浏览器实现代码
Sep 21 Javascript
JavaScript基础——使用Canvas绘图
Nov 02 Javascript
详解Vue 实例中的生命周期钩子
Mar 21 Javascript
理解 JavaScript EventEmitter
Mar 29 Javascript
vue+axios+element ui 实现全局loading加载示例
Sep 11 Javascript
JavaScript文本特效实例小结【3个示例】
Dec 22 Javascript
vue中实现上传文件给后台实例详解
Aug 22 Javascript
了不起的node.js读书笔记之node.js中的特性
Dec 22 #Javascript
jQuery+ajax中getJSON() 用法实例
Dec 22 #Javascript
IE8中动态创建script标签onload无效的解决方法
Dec 22 #Javascript
javascript的日期对象、数组对象、二维数组使用说明
Dec 22 #Javascript
javascript中的遍历for in 以及with的用法
Dec 22 #Javascript
Jquery实现图片预加载与延时加载的方法
Dec 22 #Javascript
javascript定义变量时加var与不加var的区别
Dec 22 #Javascript
You might like
PHP中创建并处理图象
2006/10/09 PHP
PHP中is_file()函数使用指南
2015/05/08 PHP
php实现给一张图片加上水印效果
2016/01/02 PHP
Extjs学习笔记之九 数据模型(上)
2010/01/11 Javascript
jQuery表格插件ParamQuery简单使用方法示例
2013/12/05 Javascript
深入理解javascript构造函数和原型对象
2014/09/23 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
bootstrap table列和表头对不齐的解决方法
2019/07/19 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
layUI的验证码功能及校验实例
2019/10/25 Javascript
Node.js操作MongoDB数据库实例分析
2020/01/19 Javascript
[05:09]第二届DOTA2亚洲邀请赛决赛日比赛集锦:iG 3:0 OG夺冠
2017/04/05 DOTA
python实现的二叉树算法和kmp算法实例
2014/04/25 Python
解析Python中的异常处理
2015/04/28 Python
使用Python求解最大公约数的实现方法
2015/08/20 Python
python采用django框架实现支付宝即时到帐接口
2016/05/17 Python
Python协程的用法和例子详解
2017/09/09 Python
浅谈使用Python内置函数getattr实现分发模式
2018/01/22 Python
django进阶之cookie和session的使用示例
2018/08/17 Python
python单线程下实现多个socket并发过程详解
2019/07/27 Python
Pytorch实现的手写数字mnist识别功能完整示例
2019/12/13 Python
python如何求数组连续最大和的示例代码
2020/02/04 Python
python判断两个序列的成员是否一样的实例代码
2020/03/01 Python
keras 获取某层输出 获取复用层的多次输出实例
2020/05/23 Python
使用Python webdriver图书馆抢座自动预约的正确方法
2021/03/04 Python
纯CSS3实现自定义Tooltip边框涂鸦风格的教程
2014/11/05 HTML / CSS
JACK & JONES瑞典官方网站:杰克琼斯欧式风格男装
2017/12/23 全球购物
建筑装饰学院室内设计专业个人自我评价
2013/12/07 职场文书
高中的自我鉴定
2013/12/16 职场文书
运动会邀请函范文
2014/02/06 职场文书
学校领导班子群众路线整改措施
2014/09/16 职场文书
质监局领导班子对照检查材料思想汇报
2014/09/27 职场文书
2014年采购部工作总结
2014/11/20 职场文书
慈善募捐倡议书
2015/04/27 职场文书
食品药品安全责任书
2015/05/11 职场文书
音乐剧猫观后感
2015/06/04 职场文书