为什么在 HTML 上使用脚本标签时会出现属性分配错误

问题描述 投票:0回答:1

我正在练习获取 API 数据并将其显示在网页上。我正在使用 Go 从 API 服务获取报价数据。我想要网页有一个额外的幻灯片功能,该功能应该使用 JavaScript 在 5 秒后显示另一个获取的报价。

但是,网页上只显示了一句话,并且浏览器控制台上没有记录任何错误。我的文本编辑器显示的唯一错误是下面代码片段中的 HTML 文件。

<script>
var quotes = {{.QuotesJSON}};
</script>

显示以下错误:

  • 预期属性分配.javascript
  • 预期的属性解构模式.javascript
  • 预期的声明或陈述.javascript

我尝试在数据结构中声明一个 template.JS 类型的字段 QuotesJSON ,以指示传入的字符串应被视为 JavaScript 代码,从而允许它安全地嵌入 HTML 中,而无需使用 Go 进行转义。

data := struct {
QuotesJSON template.JS
}{
QuotesJSON: template.JS(quotesJSON),
}

问题可能出在哪里?

javascript html templates javascript-objects
1个回答
0
投票

您收到错误,因为

{{.QuotesJSON}}
被解析为 JavaScript,并且您的编辑器是正确的,它不是有效的 JavaScript。我认为您应该做的不是这样做,而是将 JSON 序列化为结构体切片,然后使用
{{range .yourSlice}}
语句循环遍历每张幻灯片。但如果您确实想将生成的 JSON 分配给变量,那么您可以关闭诊断或只接受错误。

© www.soinside.com 2019 - 2024. All rights reserved.