var http = require('http');
var items = [];
var util = require('util');
var server = http.createServer(function(req, res) {
if (req.url == '/') {
switch (req.method) {
case 'GET':
show(res);
break;
case 'POST':
action(req, res);
break;
default:
badRequest(res);
}
} else {
notFound(res);
}
});
server.listen(3000);
function show(res) {
var html = '<html><head><title>Todo List</title></head><body>'
+ '<h1>Todo List</h1>'
+ '<ul>'
+ items.map(function(item) {
return '<li>' + item + '</li>';
}).join('')
+ '</ul>'
+ '<form method="post" action="/">'
+ '<p><input type="text" name="item"/></p>'
+ '<p><input type="submit" value="Add Item" name="test"/><input type="submit" value="Del Item" name="test"></p>'
+ '</form></body></html>';
res.setHeader('Content-Type', 'text/html');
res.setHeader('Content-Length', Buffer.byteLength(html));
res.end(html);
}
function notFound(res) {
res.statusCode = 404;
res.setHeader('Content-Type', 'text/plain');
res.end('Not Found');
}
function badRequest(res) {
res.statusCode = 400;
res.setHeader('Content-Type', 'text/plain');
res.end('Bad Request');
}
var qs = require('querystring');
function action(req, res) {
var body = '';
req.setEncoding('utf8');
req.on('data', function(chunk) {body += chunk});
req.on('end', function() {
var obj = qs.parse(body);
switch (obj.test) {
case 'Add Item':
items.push(obj.item);
break;
case 'Del Item':
for (var i in items) {
if (items[i] == obj.item) {
items.splice(i, 1);
break;
}
}
break;
}
show(res);
});
}
form
最新推荐文章于 2023-04-20 01:30:31 发布