进入express对应的目录,安装mysql
npm i mysql -s
在mysql新建数据库和表单,在后端根目录下创建db/sql.js,代码如下
const mysql = require('mysql')
let connection = mysql.createConnection({
host:'localhost',
user:'root',
password:'admin123',
database:'vue_store' //数据库名称
})
module.exports = connection
在routes/index.js中引入并写查询接口
var express = require('express');
var router = express.Router();
var connection = require('../db/sql.js')
....
// 查询商品数据接口
router.get('/api/goods/shopList', function(req,res,next){
let searchName = req.query.searchName
connection.query('select * from goods_list where name like "%'+searchName+'%"', function(error,results){
res.send({
code:0,
data:results
})
})
})
此前axios已二次封装好,引入二次封装后的axios并在查询数据的页面发送请求即可
import http from "@/common/api/request.js";
export default {
name: "SearchList",
components: { Header, Tabbar },
data() {
return {
goodList: []
};
},
created() {
this.getData();
},
methods: {
getData() {
http.$axios({
url: "/api/goods/shopList",
params: {
searchName: this.$route.query.key
}
})
.then(res => {
this.goodList = res;
});
}
},
watch: {
$route(){
this.getData()
}
}
};