您的位置:首页 > Web前端 > Node.js

NodeJs处理post请求

2016-05-18 14:00 597 查看
js文件里:

/**

* Created by Administrator on 16-5-17.

* 处理post请求

* 在NodeJS中处理Post请求与处理get请求的方式不同,需要单独处理不像get可以直接获取

* 需要注册两个listener来实现,分别是data和end的两个listener

*/

var http=require('http');

var qs=require("querystring");

/**

* 控制路由的功能

* @param path

* @param req

*/

function rotuteHandle(path,req){

if(res.url=='/login'&&req.method.toLowerCase()=='post'){

console.log("获取login的post请求");

return 'post method';

}

return 'get method';

}

/**

* 回调函数

* @param req

* @param res

*/

function onRequest(req,res){

res.writeHead(200,{ "Content-Type":"Text/plain"});

if(req.url=='/login'&&req.method.toLowerCase()=='post'){

var postData="";

req.addListener('data',function(data){

postData+=data;

});

req.addListener('end',function(){

console.log("获取post参数成功")

console.log(postData);

var content=qs.parse(postData).text;

res.write(content);

res.end();

});

}else{

res.write("other method");

res.end();

}

}

http.createServer(onRequest).listen(5000);

console.log("Server is listening right now ....");



html文件里:


<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>表单</title>

</head>

<body>

<form method="post" action="http://localhost:5000/login">

<textarea name="text" cols="20"></textarea>

<input type="submit" value="Commit"/>

</form>

</body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: