我正在练习获取 API 数据并将其显示在网页上。我正在使用 Go 从 API 服务获取报价数据。我想要网页有一个额外的幻灯片功能,该功能应该使用 JavaScript 在 5 秒后显示另一个获取的报价。
但是,网页上只显示了一句话,并且浏览器控制台上没有记录任何错误。我的文本编辑器显示的唯一错误是下面代码片段中的 HTML 文件。
<script>
var quotes = {{.QuotesJSON}};
</script>
显示以下错误:
我尝试在数据结构中声明一个 template.JS 类型的字段 QuotesJSON ,以指示传入的字符串应被视为 JavaScript 代码,从而允许它安全地嵌入 HTML 中,而无需使用 Go 进行转义。
data := struct {
QuotesJSON template.JS
}{
QuotesJSON: template.JS(quotesJSON),
}
问题可能出在哪里?
您收到错误,因为
{{.QuotesJSON}}
被解析为 JavaScript,并且您的编辑器是正确的,它不是有效的 JavaScript。我认为您应该做的不是这样做,而是将 JSON 序列化为结构体切片,然后使用 {{range .yourSlice}}
语句循环遍历每张幻灯片。但如果您确实想将生成的 JSON 分配给变量,那么您可以关闭诊断或只接受错误。