实践案例一 表单提交

  demo.html

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

postdata.js

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

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

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

  node postdata.js

  运行效果图

    

  提交结果显示界面

    

思考: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);

  

转载于:https://www.cnblogs.com/Sonet-life/p/4841014.html

Node.js实践第一天相关推荐

  1. 「跨域」利用node.js实践前端各种跨域方式(上)

    前言 常言道,"读万卷书,不如行万里路".技术的学习也是如此,唯有实践才能更清楚的明白原理和加深印象,因此本文会利用node.js对前端的各种跨域方式进行实践,强烈建议一步一步跟着 ...

  2. 第一个实例-----我与node.js的第一步接触

    因为最近有东西需要用到node.js,所以我就在linux虚拟机上安装了node.js,对于javascript,也是第一次接触. 刚入门,就是一个实用的案例,毕竟这些东西都是实践出真知.这个案例就是 ...

  3. 网易智慧企业 Node.js 实践(3)| 灰度环境和应用监控

    灰度环境 首先说下为什么需要灰度环境.随着业务的复杂度以及技术复杂度的上升,导致在测试环境可能有些问题无法全面复现,以及复杂度上升可能带来的某些配置的不同步等等原因,会导致测试环境看起来是没有问题的需 ...

  4. 网易智慧企业Node.js实践(1) | Node应用架构设计和React同构

    导读: 近期网易智慧企业在 Node.js(以下简称 Node) 的接入上已输出阶段性成果,特推出此系列文章,希望能与大家分享部分接入过程的方案,从而提供帮助.系列主要包括以下内容. 1. Node ...

  5. node.js学习-第一章节

    目录 前言 学习NodeJS的意义 01-nodejs入门 1.2-什么是nodejs 1.3-Node.js环境安装 1.3.1-如何确认当前电脑是否已经安装了Node环境 1.3.2-npm介绍与 ...

  6. node.js之第一天

    一.http模块 //require表示引包,引包就是引用自己的一个特殊功能 var http = require("http"); //创建服务器,参数是一个回调函数,表示如果有 ...

  7. node.js笔记第一天

    nodejs笔记 web服务器和服务端js的区别 1.js都是运行在浏览器的 ECMAScript:js语法 bom:浏览器对象模型,用js去操作浏览器窗口 Dom:文档对象模型,用js去操作dom树 ...

  8. 【Node.js】第一章 初识Node.js

    目录 1.1 浏览器中的javascript的运行环境 1.2 Node.js 简介 1.1 浏览器中的javascript的运行环境 1. 浏览器的组成部分 2.  javascript能在浏览器执 ...

  9. 网易智慧企业 Node.js 实践(2)| 平滑发布和前端代码

    健康检查 前文提到我们通过网关把流量转发到 Node 应用,那网关是如何确定 Node 应用的可用性呢? 如果 Node 应用在发布的过程中也把流量转发过来,就会导致请求失败,所以我们的网关会对 No ...

最新文章

  1. checkbox管理
  2. mysql 分页查询时,如何正确的获取总数
  3. 关于python中程序流程结构-Python语言程序设计(第4章:程序结构设计)
  4. ruby mysql dbi_Ruby MySQL DBI实例
  5. 更新--本地检查需要下载/删除的文件,然后做替换/删除,并重启
  6. SAP License:SAP学习笔记-集成与核算
  7. (Object detection)目标检测从入门到精通——第四部分anchor box
  8. 移动WebApp开发 JS框架对比
  9. 三阶魔方还原步骤图_3阶魔方教程 1~7步骤,三阶魔方顶层还原图解
  10. 台式计算机 如何组装,如何自行组装台式计算机?组装台式计算机主机的教程...
  11. 城市数据大脑:小汽车儿堵成翔?NONONO!
  12. java 水晶按钮_报告水晶报告没有复制按钮
  13. 为什么感知机不能表示异或?
  14. 正确写出doublecheck的单例模式
  15. 按键式计算器——人机交互的变革
  16. 浅谈IOC--说清楚IOC是什么
  17. 人工智能之知识图谱概述(一)
  18. 分布式和集群的概念区别
  19. C#: 实现幻数判断的完整源代码
  20. 反应式编程框架设计:如何使得程序调用不阻塞等待

热门文章

  1. SLAM | 三维重建方法之KinectFusion与ElasticFusion详解
  2. 算法 | 尺度不变特征变换匹配算法 Scale Invariant Feature Transform (SIFT)
  3. 数字语音信号处理学习笔记——语音信号的同态处理(2)
  4. SetBkMode函数用法详解
  5. _cdecl、_stdcall 、_fastcall、_thiscall 函数调用方式与区别
  6. 怎么用计算机算亩数,怎样用手机测量亩数?
  7. Tensorflow2.6更新cuda11.2
  8. 汇编解析(5)-intel的奔4的netburst控制单元技术提高指令处理速度
  9. 系统架构师笔记(1)
  10. 【机器学习】UMAP:强大的可视化降维工具