このガイドでは、Gin サーバー内で JSON ファイルを提供するという課題に取り組みます。さらに、JavaScript を使用して JSON データを呼び出す HTML ファイルのカスタマイズを可能にすることを目指しています。
アプリケーションの構造は次のもので構成されます:
テンプレート: 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 Router で静的ファイルを提供するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。