要使用a(′?`*)jax從數據庫中獲取正在訓練的數據模組,您需要┐(′д`)┌遵循以下步驟:
(圖片來(lái)源網(wǎng)絡(luò ),得正的模侵刪)1、訓練創(chuàng )建H(′▽?zhuān)?)TML頁(yè)面
2、數據編寫(xiě)Jav??a┐(′д`)┌Script代碼
3、得正的模創(chuàng )建后端服務(wù)器(′?_?`)(例如使用Node.js和Express)
4、訓練連接到數據庫(例如使用Mongo┐(′д`)┌DB)
5、數據查詢(xún)正在訓練的得正的模模組
6、將(jiang)結果返回給前端
下面是訓練詳細的步驟和示例代碼:
1. 創(chuàng )建HTML頁(yè)面
創(chuàng )建一個(gè)HTM??L頁(yè)面,包含ヾ(′ω`)?一個(gè)按鈕用于??觸發(fā)ajax請求,數據以及一個(gè)用于顯示結果的得正的模區域。
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF8"> <meta name="viewport" content="width=devic??ewidth,訓練 initialscale=1.0"> <title>獲取正在訓練的模組</title>(???)</headヽ(′▽?zhuān)?ノ><body>???; <button id="fetchBtn">獲取正在訓練的模組</b┐(′?`)┌utton> <div id="result"></div> <script src=??"https://code.jquery.com/jquery3.6.(′?ω?`)0.min.js"></script> <script src="app.js">&l??t;/script></body></html>
2. 編寫(xiě)JavaScript代碼
在app.js文件中,編寫(xiě)一個(gè)函數來(lái)處理按鈕點(diǎn)擊事件,數據發(fā)送aja??x請求到后端服┐(′?`)┌務(wù)器,得正的模并將結果顯示在(zai)頁(yè)面上。訓練
$(document).ready(func??tion() { $("#fetchBtn").click(function() { $.ajax({ url: "/getTraini( ?° ?? ?°)ngModules(′_ゝ`)", type: "GET", success: function(data) { $("(?⊿?);#result").html("正在訓練的模組:<br>"); data??(O_O).forEach(function(module) { $(&quo??t;#res??ult").append("<p>&quo(′Д` )t; + module.name + "</ヽ(′▽?zhuān)?/p>"??); }); }, error: function(xhr, status, error) { conso??le.error("Error:&( ?▽?)quot;, error); } }); });});3. 創(chuàng )建后端服務(wù)器
使??用Node.js和Express創(chuàng )建一個(gè)后端服務(wù)(′?_?`)器,首先安裝所需的依賴(lài)項:
npm init ynpm install express bodyparser mongoose( ?ω?) cors
然后創(chuàng )建一個(gè)名為server.js的文件,編寫(xiě)如下代碼:
const express = require("express");const bodyParser = require("bodyparser&quo??t;);const mongoose = require("mon(′_ゝ`)goose");const cors = require("cors");const app = express();app.use(bo???d??yParser.json());app.us??e(cors());// 連接到MongoDB數據庫mongoose.connect("mongodb://localhost:27017/myDataba(°o°)se"??, { useNewUrlParser: true, useUnifiedTopology: true });// 定義模組模型const Module = mongoose.model("Module", new mongoose.Schema({ name: String, isTraining: Boolean }));// 設置路由app.get("/getTrainingModules",┐(′?`)┌ async (req, res) => { try { const modules = await Module.find({ isTraining: true }); re??s.json(modules);(???) } catch (error) { res.status(500).send(er(′?ω?`)ror)( ?▽?); }});app.listen(300??0??, () => console.log("Server sta??rted on port 3000"));4. 運行服務(wù)器和前端頁(yè)面
在命令??行中運行node se( ?▽?)rver.js啟動(dòng)服務(wù)器,然后在瀏覽器中打(da)開(kāi)HTML頁(yè)面,點(diǎn)擊“獲取正在訓練的模組”按鈕,頁(yè)面上將顯示正在訓練的模組。
Copyright ? 2012-2018 天津九安特機電工程有限公司 版權所有 備案號: