NodeJs的web开发

1、使用http模块

      Nodejs不需要另外的HTTP服务器,因此减少了一层抽象,性能有了不少的提升,但同时也提高了开发难度,下面用一个post案例,来理解Nodeweb的运行流程

<span style="font-size:18px;"><form method="post" action="http://127.0.0.1:3000">
		<input type="text" name="title"/>
		<textarea name="text"></textarea>
		<input type="submit"/>
</form></span>
      这个表单包含两个字段,title和text,提交的方式是post,将数据以post的方式提交给http://127.0.0.1:3000/。假设该案例的功能是将提交的数据原封不动的返回给页面。

      则服务端的实现代码如下:

var http = require('http');
var util = require('util');
var queryString =require('querystring');

http.createServer(function(req,res){
    var post ='';
    req.on('data',function(chunk){
        post+=chunk;
    });
    req.on('end',function(){

       post= queryString.parse(post);
       res.end(util.inspect(post));
       console.log(post);
    });
}).listen(3000);
实现效果如下:

客户端:post数据

服务端返回的数据

也可以用这种方式返回数据

       post= queryString.parse(post);//查询post数据
       res.write(post.title);
       res.write(post.text);
       res.end();//必须写,否则无法返回
2、Express模块

Express模块是Nodejs作为一个web框架,也是官方唯一推荐的一个框架,Express除了为Http提供高层接口外,还实习了许多其他的功能。

2.1 路由控制

2.2模板解析支持

2.3动态视图

2.4用户会话

2.5CSRF保护

2.6静态文件服务

2.7错误控制器

2.8访问日志

2.9缓存

2.10插件支持

下面用Express重新实现前面的例子

var express=require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser());
app.all('/',function(req,res){
    res.send(req.body.title+req.text);
    console.log(req.body.title);
});
app.listen(3000);

可以看到不需要req的监听事件,只需要express.bodyParser(),就能直接通过req.body获取post数据




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值