ホームページ >バックエンド開発 >Golang >AJAX 呼び出しを使用して、Gin Router で静的ファイルを提供するにはどうすればよいですか?

AJAX 呼び出しを使用して、Gin Router で静的ファイルを提供するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-04 05:46:29514ブラウズ

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

Gin Router での静的ファイルへのアクセスの提供

このガイドでは、Gin サーバー内で JSON ファイルを提供するという課題に取り組みます。さらに、JavaScript を使用して JSON データを呼び出す HTML ファイルのカスタマイズを可能にすることを目指しています。

アプリケーションの構造は次のもので構成されます:

  • main.go: メイン ロジック ファイル
  • テンプレート: HTML および JSON ファイルを含むディレクトリ

    • index.html: HTML ファイル
    • web.json: 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 Router で静的ファイルを提供するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。