当前位置:首页 > 教程 > Web前端 > Node.js入门-提交表单

Node.js入门-提交表单

要说现在前端最火的是什么,那就是Node.js了,它的优点我就不在这里多说了,今天给大家介绍的是Node.js的表单的提交,与其他语言不同,node.js需要用到第三方的库,如express。
node.js
实践案例一 表单提交

  demo.html

1
2
3
4
5
6
7
8
9
10
11
12
13
  <!doctype html>
  <html>
      <head>
          <title>表单提交</title>
      </head>
  <body>
      <form method="post" action="http://localhost:3000/">
          姓名:<input type="text" name="title" /><br/><br/><br/>
          备注:<textarea name="text"></textarea><br/>
         <input type="submit"/>
     </form>
 </body>
 </html>

postdata.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 //post  form 
 
  var http = require('http');
  var querystring = require('querystring');
 
  var server = http.createServer(function(req,res){
      var post = '';
 
      req.on('data',function(chunk){
         post += chunk;
     });
 
     req.on('end',function(){
         post = querystring.parse(post);
 
         res.write(post.title);
         res.write(post.text);
         res.end();
     });
 }).listen(3000);

在使用dos窗口运行js的时候记得把http,querystring两个模块使用npm install -g xxx到本地。

cd到上述文件的目录,运行命令

  node postdata.js
node
思考:PHP获取POST提交的数据并将数据返回给用户,仅仅写两行代码,

  echo $_POST['title'];

  echo $_GET['text'];

  而Node.js完成以上工作需要先创建一个HTTP实例,手动编写req对象的事件监听器,当客户端数据到达时,将POST数据暂时存在闭包的变量中,直到end事件触发,解析post请求,处理后返回到客户端。php之所以简单,是因为它已将这些功能封装好了,只提供了一个高层的接口。此处实例虽然直接使用了http模块,但是却不是让你直接使用这个模块进行web开发,http模块仅仅是一个HTTP服务器内核的封装,你可以用它做任何HTTP服务器能做的事情,不仅仅是做一个网站,甚至实现一个HTTP代理服务器。如果直接使用这种方法开发网站,必须手动实现所有东西。

Express 框架 一个轻量级的Web框架

  npm 提供了大量的第三方模块,其中Express作为开发框架,是目前最稳定的、使用最广泛的框架。

  Express(http://expressjs.com/)除了为http模块提供了更高层的接口外,还实现了许多功能,其中包括:路由控制,模板解析支持,动态视图,用户会话,CSRF保护,静态文件服务,错误控制器,访问日志,缓存,插件支持等,多数功能只是对HTTP协议中常用的操作封装,更多的功能需要插件或者整合其他模块来完成。

实现与之前相同的例子。

var express = require('express');

var app = express.createServer();
app.use(express.bodyParser());
app.all('/',function(req,res){
    res.send(req.body.title+req.body.text);
});

app.listen(3000);

小小的总结:可以看到,Node.js有很多地方还不是很完善,不过它依旧挡不住技术爱好者对它的探索,相信有一天,Node.js也会广泛的应用到Web上的。

  • << C#垃圾GC回收简介
  • 4种Html页面布局 >>
  • 作者:
    除非注明,本文原创:知道91,欢迎转载!转载请以链接形式注明本文地址,谢谢。
    原文链接:http://www.zhidao91.com/node-form/

    相关文章 近期热评 最新文章

    • 使用微信JDK实现微信接口签名验证
      要使用微信的接口必须在绑定的域名下测试;签名必须先向微信请求到access_token,然后用access_token再去请求jsapi_ticket,最后用jsapi_ticket和相关的参数按照ASCII码...
    • oracle数据库相关操作注意事项
      修改Oracle SGA(共享内存) 很多网站说修改Oracle的内存通过命令 如果你这么做了,那么恭喜你,你的Oracle数据库无法启动了。如果你已经这么做了,恢复Oracle启动的方...
    • oracle数据库相关操作注意事项
      修改Oracle SGA(共享内存) 很多网站说修改Oracle的内存通过命令 如果你这么做了,那么恭喜你,你的Oracle数据库无法启动了。如果你已经这么做了,恢复Oracle启动的方...
    • 使用微信JDK实现微信接口签名验证
      要使用微信的接口必须在绑定的域名下测试;签名必须先向微信请求到access_token,然后用access_token再去请求jsapi_ticket,最后用jsapi_ticket和相关的参数按照ASCII码...
    • ABP开发指南系列教程(2) – 多层架构...
      为了减少复杂性和提高代码的可重用性,采用分层架构是一种被广泛接受的技术。为了实现分层的体系结构,ABP遵循DDD(领域驱动设计)的原则,将工程分为四个层: 展现层(...
    • ABP开发指南系列教程(1) – 入...
      ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称。 ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WE...
    • Windows下 JIRA + Agile + Mysql 破解...
      本文讲述了Windows下 JIRA + Agile + Mysql 破解安装示例教程
    • c#类的构造函数继承关系示例剖析
      本文通过示例代码讲解了c#子类的构造函数与父类的关系,子类怎样集成父类的构造函数的。