2018-11-27
直接進入正題
上一次介紹的是Node.js的基礎(chǔ)韧骗,接下來我們就要引申一下了。
下面就是http模塊和fs模塊的綜合實例:
eg①:
//1. 引入http模塊
const http=require('http');
// 2.引入fs模塊
const fs=require('fs');
// 3.使用http模塊創(chuàng)建一個服務(wù)
var server=http.createServer(function(request,response){
var file_name='./text'+request.url; //文件的路徑==>text/1.html
//或2.html
//讀取文件
// fs.readFile(文件的路徑,function(報錯的參數(shù),該路徑下的內(nèi)容的參數(shù)){}
fs.readFile(file_name,function(error,data){
// 解決亂碼
response.setHeader('Content-Type','text/html;charset=UTF-8');
if(error){
response.write('404您出錯了');
}else{
response.write(data);
}
//響應(yīng)結(jié)束
response.end();
})
});
//監(jiān)聽一個端口號
server.listen(8080);
QAQ:const聲明常量零聚,避免重復(fù)
eg②:
通過form表單發(fā)送數(shù)據(jù)袍暴,在后臺轉(zhuǎn)換成對象。
也就是將:uname=tony&passward=2580
==>{uname:'tony',passward:'2580'}
步驟如下:
form表單:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<form action="http://localhost:2580" method="GET">
<p>
用戶名:<input type="" name="name">
</p>
<p>
密碼:<input type="" name="passward">
</p>
<p>
<input type="submit" name="" value="提交">
</p>
</form>
</body>
</html>
下面就是通過后臺轉(zhuǎn)換成對象的代碼:
// 1.引入http模塊
const http=require('http');
// 2.使用http模塊創(chuàng)建一個服務(wù)
var server=http.createServer(function(request,response){
// 聲明一個空的數(shù)組用來接收下面的賦值
var obtain={};
// 獲取提交的路徑(url),并且通過一定的規(guī)則進行分割
var first=request.url.split('?'); //['/','name=tony&passward=2580']
var second=first[1].split('&'); //['name=tony','passward=2580']
// 利用for循環(huán)對整體進行分割
for(i=0;i<second.length;i++){
var third=second[i].split('='); //['name','tony']
//['passward','2580']
obtain[third[0]]=third[1];
console.log(obtain); // [name:'tony',passward:'2580']
//obtain:獲得
}
});
server.listen(2580);
QAQ:querystring.parse是將字符串轉(zhuǎn)換成對象隶症。說白了就是url上帶的參數(shù)串轉(zhuǎn)換成數(shù)組對象政模。
eg:③
也就是querystring的簡單應(yīng)用:
// querystring
var queryString=require('querystring');
var result=queryString.parse('uname=jack&upwd=123');
console.log(result);
最后一個就是通過querystring來簡單操作form表單的數(shù)據(jù):
eg④:
const http=require('http');
//引入
var querystring=require('querystring');
var server=http.createServer(function(req,res){
var GET={};
//獲取提交的url
// console.log(req.url);// /?uname=jack&upwd=123
var arr=req.url.split('?');//['/','uname=jack&upwd=123']
GET=querystring.parse(arr[1]);
console.log(GET); //[name:'tony',passward:'2580']
});
server.listen(8080);
以上就是引申的四個例子,我們下期見~