How to pass parameter from .go to .js in golang gin?

I trying to code a login demo, now I can enter the username and password to server to check,
but how can I pass the mysql data to client-side?
which step am I wrong?

main.go

func main() {
    server := gin.Default()
    server.LoadHTMLGlob("template/html/*")
    server.Static("/assets", "./template/assets")
    server.GET("/login", LoginPage)
    server.POST("/login", LoginAuth)
    server.GET("/chat", ChatPage)
    server.Run(":5000")
}

in main.go just gin serve the server

auth.go

func ChatPage(c *gin.Context) {
        nickname := c.Query("nickname")
        c.HTML(http.StatusOK, "index.html", gin.H{
            "nickname": nickname,
        })
    fmt.Println("chat page nickname: ", nickname)
}

func LoginAuth(c *gin.Context) {
    var (
        username string
        password string
    )
    if nickname, err := Auth(username, password); err == nil {
        c.Redirect(http.StatusMovedPermanently, "/chat?nickname="+nickname)
    }
}

func Auth(usernameIn, passwordIn string) (string, error) {
    dsn := fmt.Sprintf("%s:%s@%s(%s:%d)/%s?charset=utf8mb4&parseTime=True&loc=Local", USERNAME, PASSWORD, NETWORK, SERVER, PORT, DATABASE)
    db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})

    if user, err := FindUser(db, usernameIn); err != nil {
        return "", errors.New("user not found")
    } else {
        return CheckPassword(db, user, passwordIn)
    }
}

when checked the data, how should I pass the password from auth.go to main.js?

main.js

const params = new Proxy(new URLSearchParams(window.location.search), {
    get: (searchParams, prop) => searchParams.get(prop),
});
var PERSON_NAME = params.nickname;

this is some answer on net but its not work.