1

How I can assign result from rendering template to send this value as json, for ajax call

my example:

func Load(c echo.Context) error {
    params := map[string]any{
        "btn_style":  "btn-light btn-sm",
    }
    
    if err := c.Render(http.StatusOK, "test.tmpl", params); err != nil {
        return err
    }
    
    payload := []byte(fmt.Sprintf(`{"payload":"%s"}`, c.Get("tmpl").(string)))
    
    fmt.Println(string(payload))
    
    return c.JSONBlob(http.StatusOK, (payload))
}

Render function

func (t *TemplateRenderer) Render(w io.Writer, name string, data interface{}, c echo.Context) error {
    var buf bytes.Buffer

    err := t.templates.ExecuteTemplate(&buf, name, data)
    if err != nil {
        return err
    }

    c.Set("tmpl", buf.String())

    return t.templates.ExecuteTemplate(w, name, data)
}
Unknown
  • 401
  • 4
  • 15

0 Answers0