У меня есть таблица HTML, успешно отображаемая в Go. У меня есть:
mux := http.NewServeMux()
mux.HandleFunc("/", showTable)
mux.HandleFunc("/analyse", analyse)
http.ListenAndServe(":8080", mux)
Прикол c showTable
правильно отображает таблицу HTML и кнопку «ОК». HTML включает некоторые javascript, поэтому при нажатии кнопки «ОК» некоторые данные отправляются в / analysis. javascript это:
var i;
for (i = 0; i < selected.length; i++) {
$.post("/analyse", selected[i], function(data,status){
//alert(data);
});
$.post("/analyse", selected1[i], function(data,status){
//alert(data);
});
}
$.post("/analyse", "done", function(data,status){
alert(status);
});
Где selected[]
и selected1[]
содержат действительные данные, выбранные в данный момент в таблице.
Функция analyse
выглядит так:
func analyse(w http.ResponseWriter, r *http.Request) {
log.Println("In analyse")
if r.Method == "POST" {
buf := new(bytes.Buffer)
buf.ReadFrom(r.Body)
newStr := buf.String()
log.Println("Here's the body", newStr)
if newStr == "done" {
log.Println("Done detected")
io.WriteString(w, "Some valid HTML")
}
}
}
Когда я запускаю код, отображается таблица HTML вместе с кнопкой «ОК». Когда нажимается кнопка «ОК», вызывается analyse
fun c, обнаруживается POST и строка log.Println("Done detected")
успешно выполняется. На этом этапе я хочу отобразить на странице «Некоторые действительные HTML» (которые действительно действительны HTML в моем коде). В примерах, которые я видел, я думал, что запись через http.ResponseWriter w отобразит «Some valid HTML», но это не так. Я также пытался отправить сообщение в «/» в javascript и обнаружил событие POST в моем Go коде. Опять же, я могу обнаружить событие, но не могу отобразить на странице HTML. Буду признателен за любую помощь в понимании того, как мне следует успешно отобразить HTML при обнаружении события POST.