了不起的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 相关文章推荐
JAVASCRIPT  THIS详解 面向对象
Mar 25 Javascript
ext checkboxgroup 回填数据解决
Aug 21 Javascript
读jQuery之六 缓存数据功能介绍
Jun 21 Javascript
javascript 函数声明与函数表达式的区别介绍
Oct 05 Javascript
JavaScript设置body高度为浏览器高度的方法
Feb 09 Javascript
javascript实现无缝上下滚动特效
Dec 16 Javascript
javascript随机抽取0-100之间不重复的10个数
Feb 25 Javascript
基于jQuery实现动态搜索显示功能
May 05 Javascript
React应用中使用Bootstrap的方法
Aug 15 Javascript
Vue响应式原理深入解析及注意事项
Dec 11 Javascript
浅谈webpack组织模块的原理
Mar 10 Javascript
Vue中 axios delete请求参数操作
Aug 25 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中的Class的几点个人看法
2006/10/09 PHP
php foreach 使用&amp;(与运算符)引用赋值要注意的问题
2010/02/16 PHP
PHP 调试工具Debug Tools
2011/04/30 PHP
php简单实现批量上传图片的方法
2016/05/09 PHP
PHP对象克隆clone用法示例
2016/09/28 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
2020/03/18 PHP
在多个页面使用同一个HTML片段《续》
2011/03/04 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
2013/04/01 Javascript
在JavaScript中实现类的方式探讨
2013/08/28 Javascript
浅析jquery某一元素重复绑定的问题
2014/01/03 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
整理Javascript基础入门学习笔记
2015/11/29 Javascript
JavaScript编写带旋转+线条干扰的验证码脚本实例
2016/05/30 Javascript
JS实现获取当前URL和来源URL的方法
2016/08/24 Javascript
Javascript 普通函数和构造函数的区别
2016/11/05 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
2020/11/19 Vue.js
Python Web开发模板引擎优缺点总结
2014/05/06 Python
浅谈django开发者模式中的autoreload是如何实现的
2017/08/18 Python
详解python程序中的多任务
2020/09/16 Python
CSS3样式linear-gradient的使用实例
2017/01/16 HTML / CSS
利用CSS3的checked伪类实现OL的隐藏显示的方法
2010/12/18 HTML / CSS
网购亚洲时装、美容产品和生活百货:YesStyle
2016/09/15 全球购物
美国市场上最实惠的送餐服务:Dinnerly
2018/03/18 全球购物
巴基斯坦购物网站:Goto
2019/03/11 全球购物
含精油的天然有机化妆品:Indemne
2019/08/27 全球购物
函授本科毕业自我鉴定
2013/10/09 职场文书
生物技术毕业生自荐信
2013/10/23 职场文书
2014年党务公开实施方案
2014/02/27 职场文书
党组织公开承诺书
2014/03/29 职场文书
公安交警个人对照检查材料思想汇报
2014/10/01 职场文书
领导干部群众路线教育实践活动剖析材料
2014/10/10 职场文书
机关作风建设自查报告及整改措施
2014/10/21 职场文书
2014年测量员工作总结
2014/12/12 职场文书
大学生求职意向书
2015/05/11 职场文书
2019毕业论文致谢词
2019/06/24 职场文书