要在JavaScript中調(diào)用MySQL數(shù)據(jù)庫(kù),您需要?jiǎng)?chuàng)建一個(gè)后端服務(wù)(例如使用Node.js和Express框架)來(lái)與數(shù)據(jù)庫(kù)進(jìn)行通信。然后,您可以使用AJAX或Fetch API在前端JavaScript中請(qǐng)求這些服務(wù)。
以下是一個(gè)簡(jiǎn)單的示例,說(shuō)明如何使用Node.js和Express框架創(chuàng)建后端服務(wù),以及如何在JavaScript中使用Fetch API調(diào)用MySQL數(shù)據(jù)庫(kù)。
npm init -y
npm install express mysql body-parser
app.js
的文件,并添加以下代碼以設(shè)置Express服務(wù)器和MySQL連接:const express = require('express');
const mysql = require('mysql');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
const db = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database'
});
db.connect((err) => {
if (err) throw err;
console.log('MySQL connected!');
});
app.listen(3000, () => {
console.log('Server running on port 3000');
});
請(qǐng)確保將your_username
、your_password
和your_database
替換為您的MySQL數(shù)據(jù)庫(kù)的實(shí)際憑據(jù)。
app.js
中添加以下代碼:app.get('/api/data', (req, res) => {
const sql = 'SELECT * FROM your_table';
db.query(sql, (err, results) => {
if (err) throw err;
res.json(results);
});
});
請(qǐng)確保將your_table
替換為您要查詢的MySQL表名。
node app.js
現(xiàn)在,您的服務(wù)器正在監(jiān)聽端口3000上的請(qǐng)求。
<script>
標(biāo)簽內(nèi),添加以下代碼:fetch('http://localhost:3000/api/data')
.then((response) => response.json())
.then((data) => console.log(data))
.catch((error) => console.error('Error:', error));
當(dāng)您訪問(wèn)包含此代碼的頁(yè)面時(shí),它將從MySQL數(shù)據(jù)庫(kù)獲取數(shù)據(jù)并在瀏覽器控制臺(tái)中顯示結(jié)果。
請(qǐng)注意,這只是一個(gè)簡(jiǎn)單的示例,實(shí)際應(yīng)用程序可能需要處理更復(fù)雜的查詢和錯(cuò)誤處理。此外,為了提高安全性,建議使用環(huán)境變量存儲(chǔ)敏感信息,如數(shù)據(jù)庫(kù)憑據(jù),并使用CORS策略允許來(lái)自前端的請(qǐng)求。