index.js:
1
2
3
4
5
6
7
8
|
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);
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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;
|
1
2
3
4
5
6
7
8
9
|
function
route(pathname, handler, response, postData) {
if
(
typeof
(handler[pathname]) ===
'function'
) {
handler[pathname](response, postData);
return
true
;
}
else
{
return
false
;
}
}
exports.router = route;
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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;输入数据,提交即可。