javascript - 将结构数组传递给HTML模板以填充下拉列表

标签 javascript jquery ajax go go-templates

我必须将Struct数组传递到HTML模板以填充下拉列表。
我什至无法传递单个字符串来填充..

使用此代码可以得到新行,但其中没有数据。

这是我的Index.html代码:

$(document).ready(function() {
  $("#getKammer").on('click', function() {
    $.ajax({
      url: "http://localhost:8080/getKammer",
      method: "GET",
      success: function(data) {
        var $dropdown = $("#Kammer");
        $dropdown.append($("<option />").val(data).text(this.name));
        $("#getKammer").prop('disabled', true);
      }
    });
  });
});

这是Go代码:
type klimakammer struct {
    name        string
    hersteller  string
    ip          string
    sollTemp    string
    istTemp     string
    sollFcht    string
    istFcht     string
    kammerstart bool
    kammerstop  bool
}

//Ct01 Klimakammern erstellen
var Ct01 = klimakammer{"ct01", "weiss", "10.0.62.22", "", "", "", "", false, true}

//Kammern - Fill Klimakammer Array
var Kammern = []klimakammer{
    Ct01,
}

var tmpl = template.Must(template.New("tmpl").ParseFiles("./static/Index.html"))

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        if err := tmpl.ExecuteTemplate(w, "Index.html", nil); err != nil {
            http.Error(w, err.Error(), http.StatusInternalServerError)
        }
    })

    http.ListenAndServe(":8080", nil)

    http.HandleFunc("/getKammer", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintln(w, Ct01.hersteller)
    })
}

最佳答案

JSON是关键。您需要一种通用格式来在程序/脚本之间共享数据。
将数组转换为JSON字符串,然后将其作为内容类型为application/json的响应正文返回。然后,您可以在js中对其进行处理。

关于javascript - 将结构数组传递给HTML模板以填充下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62215015/

相关文章:

javascript - 如何在 Angular 中执行带有请求 header 的 ajax post

javascript - jQuery PUT ajax 请求不工作

javascript - Lawnchair-IndexedDB 不支持多记录

javascript - JavaScript 如何比较数字和字符串?

javascript - 动态添加图像的媒体查询

javascript - JS 函数序列如何使用 Promise

javascript - ajax成功回调不起作用

jquery - ipad 点击的下拉菜单

javascript - 在数据表单元格中创建动态按钮单击事件

javascript - 日期格式转换javascript