提问者:小点点

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


我必须将结构数组传递给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);
      }
    });
  });
});

下面是代码:

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)
    })
}

共1个答案

匿名用户

JSON是关键。 您需要一种通用的格式来在您的程序/脚本之间共享数据。 将数组转换为JSON字符串,然后将其作为响应体返回,其contentType为application/JSON。 然后你可以在JS中处理它。