NodeJS服务器接收post方式发送过来的数据
//声明一个变量,用来保存前台发送过来的数据
var userData = "";
//接收数据
req.on("data",function(dataChunk){
// userData = userData + dataChunk;
userData += dataChunk;
});
接口
接口的获取
//解析地址
var path = url.parse(req.url).pathname;
eg:
http://localhost:8000/api/banner //banner轮播接口 -- /api/banner
http://localhost:8000/api/login //登录页面接口 -- /api/login
http://localhost:8000/api/register //注册页面接口 -- /api/register
get 和 post 的区别
get:
- get将参数追加到url后面,放在请求头中提交
- 提交参数长度不能大于 2048个字符
- 安全性差,因为在url中明文可见
post:
- post 将数据放到请求体 中提交
- 数据长度没有限制
- 安全性高。
实例:
一个注册页面,post传输方式,当解析的接口为 “/api/register” 是接收数据,并在最后接收完毕是控制台解析数据
//引入http模块
var http = require("http");
//引入url模块
var url = require("url");
//引入querystring模块
var querystring = require("querystring");
//创建服务器
var server = http.createServer(function(req,res){
//设置允许跨域
res.setHeader("Access-Control-Allow-Origin","*");
//设置头信息
res.writeHead(200,{"Content-type" : "text/plain;charset=utf8"});
//解析地址
var path = url.parse(req.url).pathname;
//判断前台的请求的路径是不是/api/register
if(path == "/api/register"){
//创建一个变量,用来保存前台发送过来的数据
var userData = "";
//接收前台发送过的数据
req.on("data",function(dataChunk){
userData = userData + dataChunk
});
//数据接收完毕
req.on("end",function(){
console.log(querystring.parse(userData))
})
}
});
//给服务器设置监听的端口号
server.listen(8000);