我必须将我的Struct Array传给我的HTML-Template来填充一个下拉菜单,我甚至不能传一个字符串来填充。
下拉菜单用这段代码得到新的行,但没有数据。
这是我的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处理它。