uni-app 希望有一个可以显示从mysql取来的数据表的插件
uni-app 希望有一个可以显示从mysql取来的数据表的插件
希望有一个可以显示从mysql取来的数据表的插件
2 回复
要展示mysql 表中的数据吗?uni-table 就可以,也有分页
在uni-app中,要实现从MySQL数据库获取数据并在前端显示,通常需要后端接口作为桥梁,因为uni-app运行在客户端(如微信小程序、H5、App等),而MySQL是服务器端数据库,直接访问是不安全的,也不符合常规架构设计。
下面是一个简单的实现流程,包括后端接口(使用Node.js + Express)和uni-app前端的代码示例。
后端(Node.js + Express + MySQL)
首先,确保你安装了必要的npm包:
npm install express mysql2 cors
然后,创建一个简单的Express服务器:
const express = require('express');
const mysql = require('mysql2');
const cors = require('cors');
const app = express();
app.use(cors()); // 允许跨域请求
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'yourpassword',
database: 'yourdatabase'
});
connection.connect();
app.get('/api/data', (req, res) => {
const sql = 'SELECT * FROM yourtable';
connection.query(sql, (error, results, fields) => {
if (error) throw error;
res.json(results);
});
});
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
前端(uni-app)
在uni-app项目中,你可以使用uni.request
来访问后端接口。下面是一个简单的页面示例:
<template>
<view>
<list v-for="(item, index) in dataList" :key="index">
<view>{{ item.column1 }} - {{ item.column2 }}</view> <!-- 根据你的表结构调整 -->
</list>
</view>
</template>
<script>
export default {
data() {
return {
dataList: []
};
},
onLoad() {
this.fetchData();
},
methods: {
fetchData() {
uni.request({
url: 'http://localhost:3000/api/data', // 后端接口地址
success: (res) => {
this.dataList = res.data;
},
fail: (err) => {
console.error(err);
}
});
}
}
};
</script>
在这个例子中,后端Express服务器处理对MySQL数据库的查询,并将结果以JSON格式返回。前端uni-app通过uni.request
请求这个接口,并将返回的数据绑定到页面上显示。
请注意,实际项目中应考虑安全性(如使用HTTPS、验证用户身份)、错误处理、性能优化等问题。此外,生产环境中应避免在前端直接暴露数据库连接信息。