Heim >Backend-Entwicklung >Golang >Wie stellt man statische Dateien im Gin-Router mit einem AJAX-Aufruf bereit?

Wie stellt man statische Dateien im Gin-Router mit einem AJAX-Aufruf bereit?

Barbara Streisand
Barbara StreisandOriginal
2024-11-04 05:46:29515Durchsuche

How to Serve Static Files in Gin Router with an AJAX Call?

Zugriff auf statische Dateien im Gin-Router bereitstellen

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:

  • main.go: Hauptlogikdatei
  • Vorlagen: Verzeichnis mit HTML- und JSON-Dateien

    • index.html: HTML-Datei
    • web.json: JSON-Datei

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn