node.js 接收post请求

部分内容参照 http://www.holdyourdream.com/blog/?p=25 和 http://cnodejs.org/blog/?p=2207

使用data和end事件来获取post数据,代码如下:

var http = require('http');
var server = http.createServer();
var querystring = require('querystring');
var firstPage = function(res){
	res.writeHead(200, {'Content-Type': 'text/html'});
	var html = '<html><body>'+
		'<form action="/login" method="post">'+
		'name:<input type="text" name="name"> </br>'+
		'password:<input type="password" name="pwd"></br>'+
		'<input type="submit" value="login">'+
		'</form>'+
		'</body></html>';
	res.end(html);
}

var login = function(req, res) {
	var info ='';
	req.addListener('data', function(chunk){
		info += chunk;
     })
	.addListener('end', function(){
		info = querystring.parse(info);
		if(info.name == 'a' && info.pwd =='1'){
			res.end('login success ' + info.name);
		}else{
			res.end('login failed ' + info.name);
		}
	 })
}

var requestFunction = function (req, res){
	if(req.url == '/'){
		return firstPage(res);
	}
	if(req.url == '/login'){
		if (req.method != 'POST'){
			return;
		}
		return login(req, res)
	}
}

server.on('request',requestFunction);
server.listen(1337, "127.0.0.1");

console.log('Server running at http://127.0.0.1:1337/');

以上代码实现了一个登录验证用户,将以上代码保存到 example4.js

cmd键入 node example4.js


浏览器地址栏键入 http://127.0.0.1:1337/


如果输入name:a password:1 点击login



如果输入name:a password:2 点击login



该例子 from使用的是默认的application/x-www-form-urlencoded,如果同时要上传文件的话使用multipart/form-data,如何解析请参照http://cnodejs.org/blog/?p=2207

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值