引入模块
const http = require('http');
const url = require('url');
const querystring = require('querystring'); --用于将post请求传过来的参数转化为对象
创建一个HTTP服务器
let server = http.createServer((req,res) => {
if(req.url == "/favicon.ico") {
//服务端主动响应数据
res.end("");
return
}
// nodeJS如何接收get参数
//url模块的parse方法用于解析地址并将属性转为对象形式
let {username,password} = url.parse(req.url,true).query;
res.end(JSON.stringify({ //要先转为字符串才能传给前台
username,
password
}));
// nodeJS如何接收post参数
//NodeJS字符串流,接收post参数,需要监听data事件,将chunk字符串拼接起来
let str = "";
req.on("data",(chunk) => {
str+=chunk;
})
// 同时监听end事件,数据传输完成时触发
req.on("end",() => {
//写入网页编码格式到响应头里面
res.setHeader("Content-Type","text/html;charset=utf-8");
//使用querystring模块将post参数转化为对象
str = querystring.parse(str);
res.end(JSON.stringify(str));
})
}).listen('1234') //监听端口
注意事项
req.url -- 请求头地址
req.method--请求方式
req.headers--请求头
url.parse(req.url,true)) //第二个参数表示将属性转为对象