NodeJs入門(二)
結(jié)合上篇文章
一:結(jié)合http與fs模塊一起讀取文件夾中的文件
在nodejs文件夾中建立day02文件夾,在day02文件夾中創(chuàng)建www文件夾與server.js文件,在www文件夾中創(chuàng)建1.html與2.html,隨意寫上內(nèi)容。
const http=require('http');
const fs=require('fs');
var server=http.createServer(function(req,res){
var file_name='./www'+req.url;
//讀取文件
fs.readFile(file_name,function(err,data){
if(err){
res.write('404');
}else{
res.write(data);
}
res.end();
})
});
server.listen(8080);
打開window+r---cmd--node server.js
在瀏覽器中打開127.0.0.1:8080,依次輸入/1.html、/2.html
二:http fs 接受前端傳過來的數(shù)據(jù)請求(解析get方式發(fā)送的請求)
要求:get post ajax form 后臺:轉(zhuǎn)換成對象
form表單發(fā)送數(shù)據(jù) 轉(zhuǎn)換對象格式
uname=Tom&upwd=123456 {uname:Tom,upwd:123456}
在day02文件夾中創(chuàng)建from.html文件與server1.js文件
from.html文件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<form action="http://localhost:8080" method="GET">
<p>用戶名:<input type="text" name="uname"></p>
<p>密碼:<input type="text" name="upwd"></p>
<p><input type="submit" name="" id="" value="提交" /></p>
</form>
</body>
</html>
方法一:
server1.js
const http=require('http');
var server=http.createServer(function(req,res){
GET=[]
var arr=req.url.split('?');
//console.log(arr);//['/','uname=Tom&upwd=123456']
var arr1=arr[1].split('&');
//console.log(arr1);//['uname=Tom','upwd=123456']
//遍歷數(shù)組
for(var i=0;i<arr1.length;i++){
var arr2 = arr1[i].split('=');
//console.log(arr2);//["uname",'Tom'],['upwd','123456']
GET[arr2[0]]=arr2[1];
console.log(GET);//[uname:'Tom',upwd:'123456']
}
})
server.listen(8080);
方法二:
創(chuàng)建server2.js
//方法二:
const http=require('http');
const querystring=require('querystring');
var server=http.createServer(function(req,res){
var GET=[]
var arr=req.url.split('?');
GET=querystring.parse(arr[1]);
console.log(GET);
})
server.listen(8080);
方法三
url模塊
const http= require('http');
consr urls = require('url');
var server=http.createServer(function(req,res){
var urlLis=urls.parse('http://www.baidu.com/index?uname=Tom&upwd=123456',true);
console.log(urlLis);
console.log(urlLis.query);//{uname:'Tom',upwd:'123456'}
});
server.listen(8080);