在学习nodejs,记录一下nodejs处理get请求和post请求并将请求信息整合返回给客户端的基本思路
const http = require('http');
const querystring = require('querystring');
const server = http.createServer( (req , res ) => {
const method = req.method; //请求方式
const url = req.url; //请求的url
const path = url.split("?")[0]; //
const query = querystring.parse(url.split('?')[1]);
//设置返回数据格式为JSON
res.setHeader('Content-type' , 'application/json')
//定义返回的数据
const resData = {
method,
url,
path,
query
};
//返回数据
if(method === 'GET') { //get请求的返回
res.end(JSON.stringify(resData));
}else if(method === 'POST'){ //post请求的返回
let postData = "";
req.on('data' , chunk => { //postData通过数据流的方式处理
postData += chunk.toString();
});
req.on('end' , () => {v
resData.postData = postData;
//返回
res.end(
JSON.stringify(resData)
)
})
}
})
server.listen( 8999 , () => {
console.log("server is on 8999")
})
起服务测试一下
get请求:
post请求: