nodeJs写一个新增事件代办项程序
01
创建一个01.js;
引入nodejs的http模块;
并监听8000端口
let http = require('http');
let list = require('./listFn');
let server = http.createServer( (req, res) => {
console.log(req.url);
if ('/' == req.url){
switch (req.method){
case 'GET' :
list.show(res);
break;
case 'POST' :
list.add(req, res);
break;
default:
list.badRequest(res);
}
}else{
list.notFound(res);
}
});
server.listen(8000);
02
创建一个再创建一个listFn.js,写事件,并在01js里引用listFn.js
let qs = require('querystring');
let items = [];
module.exports = {
show: (res) => {
//嵌入一个html取代模板
let html = `
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Todo List</title>
</head>
<body>
<h1>Todo List</h1>
<ul>` +
items.map( (item) => {
return `<li> ${item} </li>`
}) +
`</ul>
<form action="/" method="post">
<p>
<input type="text" name="item">
</p>
<p>
<input type="submit" value="add item">
</p>
</form>
</body>
</html>`;
//设置响应的头部信息
res.setHeader('Content-Type', 'text/html');
//使用字符串长度
res.setHeader('Content-Length', Buffer.byteLength(html));
//结束请求
res.end(html);
},
notFound(res){
// 函数接收响应对象,将状态码设为404,响应主体设为not found
res.statusCode = 404;
res.setHeader('Content-Type', 'text/plain');
res.end('Not Found');
},
badRequest(res){
// 向客户指明该请求无效
res.statusCode = 400;
res.setHeader('Content-Type', 'text/plain');
res.end('Bad Request');
},
add(req, res){
let body = '';
req.setEncoding('utf8');
req.on('data', (chunk) => {
body += chunk
});
req.on('end', () => {
let obj = qs.parse(body);
items.push(obj.item);
this.show(res);
})
}
}
03
启动服务
然后浏览器登录localhost:8000;
能看到页面
本文分享自 javascript艺术 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!