In diesem Leitfaden befassen wir uns mit der Herausforderung, eine JSON-Datei auf einem Gin-Server bereitzustellen. Darüber hinaus möchten wir die Anpassung von HTML-Dateien mithilfe von JavaScript ermöglichen, um die JSON-Daten aufzurufen.
Die Anwendungsstruktur besteht aus Folgendem:
Vorlagen: Verzeichnis mit HTML- und JSON-Dateien
Die Datei main.go enthält die erforderlichen Importe und definiert den Router.
<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>
In index.html verwendet der JavaScript-Code die bereitgestellte URL, um zum Abrufen einen AJAX-Aufruf durchzuführen die JSON-Daten.
<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>
Durch die Angabe der staticFS-Route für die Bereitstellung der web.json-Datei stellen wir deren Zugänglichkeit für den AJAX-Aufruf innerhalb der HTML-Vorlage sicher. Dadurch wird der zuvor aufgetretene Abruffehler behoben.
Das obige ist der detaillierte Inhalt vonWie stellt man statische Dateien im Gin-Router mit einem AJAX-Aufruf bereit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!