Node.js实践第一天
實踐案例一 表單提交
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实践第一天的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [一道搜狗输入法的面试题]C++转换构造
- 下一篇: 一篇小的随笔,关于记忆算法和概念