前端使用vue实现页面,使用axios进行先后端交互前端
后端使用node.js提供接口vue
数据库使用navicat for mysqlnode
前端代码:(组件中使用axios先后端交互)mysql
import axios from 'axios' export default{ name:'myAdmin', data(){ return{ username:'', password:'' } }, methods:{ handleClick:function(){ axios({ url:'http://*******:8000/login', methods:'get', params:{ 'username':this.username, 'password':this.password } }).then(this.getUserInfo).catch((err)=>{ alert('用户名不存在!!') // 抛错,输入的用户名不存在,sql语句查询不到 }) }, getUserInfo:function(res){ var res = res.data // console.log(res.data) if(this.username == res.data[0].username && this.password == res.data[0].password){ alert('登陆成功!') this.username = this.password = '' }else if(this.username == res.data[0].username || this.password == res.data[0].password){ alert('用户名或密码出错!') } } } }
后端代码:ios
//登陆 app.all('/login',(req,res)=>{ // 查询语句根据用户名查询用户信息 conn.query("select * from `user` where username = '" + req.query.username +"'",(e,r)=>res.json(new Result({data:r}))) })
function Result({code=1,msg='',data={}}){
this.code = code;
this.msg = msg;
this.data = data
}
效果如图:sql