index.js: html
var server = require('./server'); var router = require('./route'); var requestHandler = require('./requestHandler'); var hander = {}; hander['/'] = requestHandler.start; hander['/start'] = requestHandler.start; hander['/upload'] = requestHandler.upload; server.starts(router.router, hander);
var http = require('http'); var url = require('url'); function start(router, hander) { function onRequest(request, response) { var pathname = url.parse(request.url).pathname; var postData = ""; request.setEncode = "utf8"; request.addListener('data', function(postDataChunk){ postData += postDataChunk; }) request.addListener('end', function(){ router(pathname, hander, response, postData); }) } http.createServer(onRequest).listen(8080); } exports.starts = start;
function route(pathname, handler, response, postData) { if (typeof(handler[pathname]) === 'function') { handler[pathname](response, postData); return true; } else { return false; } } exports.router = route;
var querystring = require("querystring"); function start(response) { var body = '<html>' + '<head>' + '<meta http-equiv="Content-Type" content="text/html; ' + 'charset=UTF-8" />' + '</head>' + '<body>' + '<form action="/upload" method="post">' + '<textarea name="text" rows="20" cols="60"></textarea>' + '<input type="submit" value="Submit text" />' + '</form>' + '</body>' + '</html>'; response.write(body); response.end(); } function upload(response, postData) { response.write("You've sent: " + querystring.parse(postData).text); response.end(); } exports.start = start; exports.upload = upload;
訪問localhost:8080/start或者localhost:8080;輸入數據,提交便可。 post