新建一个文件夹,在此文件夹下打开cms,或者vscode的终端,输入npm init初始化一个项目,输入一些基本信息。
一直点回车就好了
写node.js接口之前要了解接口文档
首先先写ajax请求
let xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
console.log(xhr.responseText)
fun(xhr.responseText)
}
}
xhr.open("POST","接口名",true)
xhr.setRequestHeader("Content-Type","application/javascript")
xhr.send("username=" + uname + "&userpwd=" + upwd)
xhr.responseText获取后台传出来的数据
获取要用的模板
const http = require("http");
const fs = require("fs");
const url = require("url");
const querystring = require("querystring");
设置静态伺服
if((pathname == "/" || pathname=="/register.html") && req.method == "GET"){
fs.readFile("./pages/register.html","utf8",(err,data)=>{
if(err){
fs.readFile("./pages/404.html","utf8",(err,data)=>{
if(err){
return res.end()
}
res.writeHead(200,{'Content-type':'text/html'})
res.end(data)
return;
})
}
res.writeHead(200,{'Content-type':'text/html'})
res.end(data)
})
}else if(pathname == "/404.html" &&req.method == "GET"){
fs.readFile("./pages/404.html","utf8",(err,data)=>{
res.writeHead(200,{'Content-type':'text/html'})
res.end(data)
})
}else if(pathname == "/login.html" &&req.method == "GET"){
fs.readFile("./pages/login.html","utf8",(err,data)=>{
res.writeHead(200,{'Content-type':'text/html'})
res.end(data)
})
}else if(pathname == "/index.html" &&req.method == "GET"){
fs.readFile("./pages/index.html","utf8",(err,data)=>{
res.writeHead(200,{'Content-type':'text/html'})
res.end(data)
})
}
调用接口
if(pathname=="/register" && req.method =="POST")
把数据进行处理然后通过 res.end()返回给前台,ajax接收渲染到页面
let data = ""
req.on("data",(chunk)=>{
data += chunk//chunk是一个个字节码
})
req.on("end",()=>{
console.log(data)
let obj = querystring.parse(data);
fs.readFile("./data/user.json","utf8",(err,data)=>{
if(err){
return
}
let arr = JSON.parse(data);
for(let i= 0;i<arr.length;i++){
if(arr[i].username == obj.username){
res.end("0")
return;
}
}
arr.push(obj);
let arr_str = JSON.stringify(arr);
fs.writeFile("./data/user.json",arr_str,'utf8',(err)=>{
if(err){
res.end("3")
return;
}
res.end("1")
})
})
})
}
else if(pathname == "/login" && req.method == "GET"){
console.log(query)
fs.readFile("./data/user.json","utf8",(err,data)=>{
if(err){
res.end("3")
return;
}
let dataObj = JSON.parse(data);
for(let i =0;i<dataObj.length;i++){
if(dataObj[i].username == query.username){
if(dataObj[i].userpwd == query.userpwd){
res.end("1");
return;
}else{
res.end("2")
return;
}
}
}
res.end("0")
})
}