前面几篇内容按照node.js中不同模块的不同功能,分别记录了它们实现的方式。
这篇内容将前面几篇提到的功能结合起来,来实现一个简单的结合数据请求来实现文件读写的小页面。
我们可以尝试将前面提到的http模块创建服务器、fs模块读写文件和url模块处理get数据、querystring模块处理post数据一起结合起来做页面:
| 12
 3
 4
 5
 6
 7
 8
 9
 
 | <form action="http://localhost:8080" method="get"><input type="text" name="user"><br>
 <input type="password" name="pass"><br>
 <input type="submit" value="登录"><br><br>
 </form>
 <form action="http://localhost:8080" method="post">
 <textarea name="content" cols="30" rows="10"></textarea><br>
 <input type="submit" value="提交内容">
 </form>
 
 | 

| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 
 | const http=require("http");
 const fs=require("fs");
 const querystring = require("querystring");
 const urlLib = require("url");
 
 
 http.createServer(function(req, res) {
 
 if(req.method == 'GET') {
 let obj = urlLib.parse(req.url,true);
 let GET = obj.query;
 console.log(GET);
 
 } else if (req.method == 'POST') {
 let str = '';
 req.on('data', data => str+= data);
 req.on('end', () => {
 let POST = querystring.parse(str);
 console.log(POST);
 
 if(Object.keys(POST).length !== 0) {
 fs.writeFile('bbb.txt', POST.content, err => {
 if(err !== null){
 throw err;
 }
 });
 }
 })
 }
 }).listen(8080);
 
 console.log("server running");
 
 | 


