nodeJS的post提交简单实现

index.js:

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);



server.js:
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;



route.js:
function route(pathname, handler, response, postData) {
	if (typeof(handler[pathname]) === 'function') {
		handler[pathname](response, postData);
		return true;
	} else {
		return false;
	}
}
exports.router = route;



requestHandler.js:
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;输入数据,提交即可。

转载于:https://my.oschina.net/u/948242/blog/209250

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值