在本指南中,我们将解决在 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中文网其他相关文章!