>  기사  >  백엔드 개발  >  AJAX 호출을 사용하여 Gin 라우터에서 정적 파일을 제공하는 방법은 무엇입니까?

AJAX 호출을 사용하여 Gin 라우터에서 정적 파일을 제공하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-04 05:46:29450검색

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

Gin 라우터에서 정적 파일에 대한 액세스 제공

이 가이드에서는 Gin 서버 내에서 JSON 파일을 제공하는 문제를 다룰 것입니다. 또한 JavaScript를 사용하여 HTML 파일을 사용자 정의하여 JSON 데이터를 호출할 수 있도록 하는 것이 목표입니다.

애플리케이션 구조는 다음으로 구성됩니다.

  • 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 라우터에서 정적 파일을 제공하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.