一些Nodejs相關(guān)操作
安裝NodeJs
從官網(wǎng)下載,安裝即可
創(chuàng)建[Demo]目錄
wenpingaodeMacBook-Pro:Desktop pingaowen$ mkdir Demo
wenpingaodeMacBook-Pro:Desktop pingaowen$ cd Demo/
創(chuàng)建入口文件
wenpingaodeMacBook-Pro:Demo pingaowen$ vim index.js
編輯模式i
引入http模塊
var http = require('http');
創(chuàng)建http服務(wù)
var app = http.createServer(function (req,res) { //在這里接收并處理http請求 res.writeHead(200,{'content-Type':'text/html'}); res.write('<h1>Hello,World!</h1>'); res.end(); });
監(jiān)聽http請求:
app.listen(8000,function () { console.log('啟動(dòng)了'); });
保存[index.js]文件
esc
--> wq
--> enter
啟動(dòng)http服務(wù),打開終端,轉(zhuǎn)到index.js文件所在目錄
wenpingaodeMacBook-Pro:Demo pingaowen$ node index
輸入流req和輸出流res相關(guān)
req輸入流:接收來自http請求的輸入
req接收get參數(shù)
我們需要引入兩個(gè)系統(tǒng)模塊
var url = require('url'); var qs = require('querystring');
在接收并處理響應(yīng)的回調(diào)方法里
var params = url.parse(req.url,true).query; var name = params.name;
req接收post參數(shù)
輸出表單
if(url.parse(req.url).pathname == '/'){ res.writeHead(200,{'Content-type':'text/html'}); res.write("<form action='/postdemo' method='post'>姓名:<input name='name' type='text'/><br/>年齡:<input name='age' type='numberc'/><input type='submit' value='確定'/></form>"); res.end(); }
接收參數(shù)
else if(url.parse(req.url).pathname == '/postdemo'){ //接收post參數(shù) var body = ''; //綁定http請求響應(yīng)事件 req.on('data', function(data) { body += data; }); //綁定http請求響應(yīng)結(jié)束事件 req.on('end', function(event) { body = qs.parse(body); var name = body.name; var age = body.age; res.writeHead(200,{'Content-type':'text/html'}); res.write('你好啊,' + name + ',' + age); res.end(); }); }
res輸出相關(guān)
res.writeHead(404,{'Content-type':'text/html'});//輸出http響應(yīng)頭 res.write("not found");//輸出 res.end();//表示結(jié)束一次響應(yīng)