Сначала извините за мой плохой английский, я постараюсь сделать все возможное.
Я пытаюсь создать веб-приложение, которое отображает имена серверов, их IP-адреса, ping, порты и т. Д. *
Вот часть моего кода:
MAIN.GO:
type Widget struct {
Ipport string
Number string
State string
Colport string
Blink string
}
type resulthtml struct {
Name string
Affordi string
Afflieu string
Affip string
Affresping string
Affresport string
Affport string
Affactif string
Colping string
Lisports []Widget
Blink string
}
var prout []resulthtml
// 80% of the missing code is here like ping function, etc, etc
func main() {
//.........some code here.............
http.Handle("/favicon.ico", http.NotFoundHandler())
http.HandleFunc("/", affichagePing)
http.ListenAndServe(":2692", nil)
}
func affichagePing(w http.ResponseWriter, r *http.Request) {
tmpl := template.Must(template.ParseFiles("test.html"))
tmpl.Execute(w, prout)
}
И TEST.HTML:
<div id="cadre_affich1">
<table id="Affichageglobal">
<thead>
<tr>
<th class="AffichageLigneT" style="width: 3%;"></th>
<th class="AffichageLigneT" style="width: 15%;">Name</th>
<th class="AffichageLigneT" style="width: 8%;">Type</th>
<th class="AffichageLigneT" style="width: 6%;">Place</th>
<th class="AffichageLigneT" style="width: 14%;">IP</th>
<th class="AffichageLigneT" style="width: 10%;">Ping</th>
<th class="AffichageLigneT" style="width: 41%;">Ports</th>
<th class="AffichageLigneT" style="width: 3%;"></th>
</tr>
</thead>
<tbody>
{{range .}}
<tr>
<td class="AffichageLigneRefr"></td>
<td class="AffichageLigneNom"><span class="AffichageStatut" style="background-color:{{.Colping}}"></span><span>{{.Name}}</span></td>
<td class="AffichageLigneType">{{.Affordi}}</td>
<td class="AffichageLigneLieu">{{.Afflieu}}</td>
<td class="AffichageLigneIP">{{.Affip}}</td>
<td class="AffichageLigneResPing"><span class={{.Blink}} style="color:{{.Colping}}">{{.Affresping}}</span></td>
<td class="AffichageLignePorts">{{range $v := .Lisports}}<span class={{$v.Blink}}>{{$v.Number}}</span>{{end}}</td>
<td class="AffichageLigneEdit"></td>
</tr>
{{end}}
</tbody>
</table>
</div>
У меня нет проблем с отображением того, что я хочу. Теперь я хочу обновить строку без перезагрузки всей страницы (ее пинг, имя и т. Д.), Когда я нажимаю на первую ячейку. Я знаю, что должен делать это через Javascript, который будет отправлять информацию в Go Handler, но я потратил часы и попробовал так много всего ...
Я не могу заставить его работать.
Большое спасибо.