gpt4 book ai didi

html - 无法评估字符串类型的字段数据

转载 作者:行者123 更新时间:2023-12-01 22:40:30 26 4
gpt4 key购买 nike

尝试将变量数据的内容打印到html页面中:

package main

import (
"net/http"
"fmt"
"log"
"html/template"
)

var tpl *template.Template

func init(){
tpl= template.Must(template.ParseGlob("*.html"))
}

func main(){
http.HandleFunc("/", index)
http.HandleFunc("/process", processor)
http.ListenAndServe(":8080", nil)
}

func index(w http.ResponseWriter, r *http.Request){
tpl.ExecuteTemplate(w, "index.html",nil)
}

func processor(w http.ResponseWriter, r *http.Request){
if r.Method != "GET" {
http.Redirect(w,r,"/", http.StatusSeeOther)
return
}
data := r.FormValue("data")
fmt.Printf("%s",data)
err:=tpl.ExecuteTemplate(w, "processor.html", string(data))
if err != nil {
log.Fatalf("execution failed: %s", err)
}
//tpl.ExecuteTemplate(w, "processor.html",data)
}

这是HTML
<html>
<head>
<title>PROCESSOR</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<h1>{{.data}}</h1>
</body>
</html>

这是我的外壳打印的内容:
poo2020/03/22 19:13:50 execution failed: template: processor.html:8:11: executing "processor.html" at <.data>: can't evaluate field data in type string
exit status 1

便便是数据的内容(证明我可以从初始html页面正确获取它。
检查了一些类似的问题,试图使用变量$ data,但是我遇到了同样的问题。

最佳答案

您正在将字符串变量传递给模板处理器,因此这是其上下文中的全部内容,因此您必须使用:

{{.}}

在模板中进行打印。或者,您可以使用“数据”字段传递上下文,如下所示:
 err:=tpl.ExecuteTemplate(w, "processor.html", map[string]interface{}{"data":string(data)})

和使用
{{.data}}

在模板中。

您传递给 ExecuteTemplate的任何对象都可以使用 {{.}}访问。标记 {{.data}}将访问该对象中的字段名称 data

关于html - 无法评估字符串类型的字段数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60803410/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com