Ich folge dem Beispiel in Kapitel 19 von Der Weg zu gehen. Wie HTML-String als eine Webseite mit Golang http.ResponseWriter anzuzeigen?
Dies ist der Inhalt meiner main.go
package main
import (
"fmt"
"net/http"
)
const AddForm = `
<form method="POST" action="/add">
URL: <input type="text" name="url">
<input type="submit" value="Add">
</form>
`
func main() {
http.HandleFunc("/add", Add)
http.ListenAndServe(":8080", nil)
}
func Add(w http.ResponseWriter, r *http.Request) {
url := r.FormValue("url")
if url == "" {
fmt.Fprint(w, AddForm)
return
}
key := "Placeholder"
fmt.Fprintf(w, "http://localhost:8080/%s", key)
}
Nach dem Buch und seinen Screenshot, ich sollte eine gültige Form gebracht in meinem Browser sehen. Aber im Moment kann ich nur die rohe Saite sehen.
Ich bin sehr neu zu gehen, also bin ich mir nicht sicher, ob sich die Sprache seit der Entstehung des Beispiels stark entwickelt hat. Meine Go-Version ist go version go1.6.2 linux/amd64
und ich denke, das Buch wurde 2012 mit einer älteren Version von Go geschrieben.
Wie ändere ich es, um es als ein Formular im Browser zu rendern? Vielen Dank.
eingestellt werden würde 'AddForm' ist keine vollständige HTML-Seite, es ist nur die Form Fragment. Außerdem geben Sie 'Content-Type: text/plain' zurück. Gibt es mehr zum Beispiel? Dies hätte mit der Go-Std-Lib nie funktioniert. – JimB
Das Buch ist [hier] (https://ia800702.us.archive.org/8/items/TheWayToGo/The_Way_To_Go.pdf) und lesen auf Seite 517. Es gibt einige andere Code, aber definitiv nicht verwandt mit html rendern hier. Der Code ist [hier] (https://sites.google.com/site/thewaytogo2012/Downhome/Topic3) in der Zip-Datei in Kapitel 19/goto_v1/main.go – cookieisaac