本文主要是介绍js创建服务器,以及对接口的理解和创建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
// 创建服务
const app = http.createServer((req, res)=>{
// 设置给前端返回信息的字符编码
res.setHeader('content-type', 'text/html; charset=utf-8')
let address = req.url.split('?')[0]
//首先创建一个数组,后面把它的数据放在JSON文件
let user = [{id: 1, username: 'user1', password: '123'}]
//拿到query,它是一个对象,里面有ID,usermane,password
let objParams = url.parse(req.url, true).query
console.log(url.parse(req.url, true))
// 使用switch进行匹配
switch(address){
// 页面的静态托管
case '/index.html':
fs.readFile('./index.html', 'utf-8', (err, data)=>{
res.end(data)
})
break
case '/login.html':
fs.readFile('./login.html', 'utf-8', (err, data)=>{
res.end(data)
})
break
case '/user/login':
// res.end(JSON.stringify({code: 1, message: '登录成功'}))
// 把传递过来的参数和db数据库里面的参数进行对比
fs.readFile('./db/register.json', 'utf-8', (err, data)=>{
let {username, password} = objParams
// console.log(username, password)
let result = JSON.parse(data).find(item=>{
return item.username === username && item.password === password
})
if(!result){
// 注意点:如果验证不通过,必须返回的是用户名或者密码错误,这样可以增加安全性
res.end(JSON.stringify({code: 0, message: '用户名或者密码错误'}))
}else{
res.end(JSON.stringify({code: 1, message: '登录成功'}))
}
})
break
case '/shopping/list':
fs.readFile('./db/goods.json', 'utf-8', (err, data)=>{
res.end(data)
})
case '/user/register':
// fs.writeFile('./db/register.json', JSON.stringify(user), ()=>{
// res.end(JSON.stringify({code: 1, message: '注册成功'}))
// })
// 先读,再写
fs.readFile('./db/register.json', 'utf-8', (err,data)=>{
user.push(objParams)
console.log(data)
fs.writeFile('./db/register.json', JSON.stringify(user), ()=>{
res.end(JSON.stringify({code: 1, message: '注册成功'}))
})
})
break
default:
res.end('<h1>404,你的页面走丢了!</h1>')
}
})
// 监听端口号
app.listen(2307, ()=>{
console.log('你的服务器已经开启了,快来玩啊!http://localhost:2307')
})
这篇关于js创建服务器,以及对接口的理解和创建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!