我必须将结构数组传递给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)
})
}
JSON
是关键。 您需要一种通用的格式来在您的程序/脚本之间共享数据。 将数组转换为JSON字符串,然后将其作为响应体返回,其contentType为application/JSON
。 然后你可以在JS中处理它。