在JavaScript中从数据库加载菜单通常涉及前端与后端的交互。以下是基础概念、优势、类型、应用场景以及可能遇到的问题和解决方案:
后端(Node.js + Express + MySQL)
const express = require('express');
const mysql = require('mysql');
const app = express();
const db = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'testdb'
});
db.connect();
app.get('/api/menu', (req, res) => {
const sql = 'SELECT * FROM menu';
db.query(sql, (err, result) => {
if (err) throw err;
res.json(result);
});
});
app.listen(3000, () => {
console.log('Server running on port 3000');
});
前端(JavaScript)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Dynamic Menu</title>
</head>
<body>
<ul id="menu"></ul>
<script>
fetch('http://localhost:3000/api/menu')
.then(response => response.json())
.then(data => {
const menu = document.getElementById('menu');
data.forEach(item => {
const li = document.createElement('li');
li.textContent = item.name;
menu.appendChild(li);
});
})
.catch(error => console.error('Error:', error));
</script>
</body>
</html>
通过以上步骤和示例代码,你可以实现从数据库动态加载菜单的功能。
领取专属 10元无门槛券
手把手带您无忧上云