在本指南中,我們將解決在 Gin 伺服器中提供 JSON 檔案的挑戰。此外,我們的目標是使用 JavaScript 呼叫 JSON 資料來實現 HTML 檔案的客製化。
應用程式結構由以下部分組成:
templates:包含HTML 和JSON 檔案的目錄
main.go 檔案包含必要的匯入並定義路由器。
<code class="go">package main import ( "net/http" "github.com/gin-gonic/gin" ) var router *gin.Engine func main() { router = gin.Default() router.LoadHTMLGlob("templates/*") // Register custom route for serving static JSON file router.StaticFS("/web.json", http.Dir("./templates")) // Route for rendering the HTML template router.GET("/web", func(c *gin.Context) { c.HTML( http.StatusOK, "index.html", gin.H{ "title": "Web", "url": "/web.json", }, ) }) router.Run() }</code>
在index.html 中,JavaScript 程式碼使用提供的 URL 進行 AJAX 呼叫來檢索JSON 資料。
<code class="html"><script> window.onload = function() { const ui = SwaggerUIBundle({ url: "{{ .url }}", dom_id: '#swagger-ui', // ... }) // End Swagger UI call region window.ui = ui } </script></code>
透過指定用於提供 web.json 檔案的 staticFS 路由,我們確保了 HTML 範本中 AJAX 呼叫的可存取性。這解決了之前遇到的獲取錯誤。
以上是如何透過 AJAX 呼叫在 Gin 路由器中提供靜態檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!