github.com/EngineerKamesh/gofullstack@v0.0.0-20180609171605-d41341d7d4ee/volume3/section1/basics/client/xhrpost.go (about) 1 package main 2 3 import ( 4 "encoding/json" 5 6 "honnef.co/go/js/dom" 7 "honnef.co/go/js/xhr" 8 ) 9 10 func lowercaseTextTransformer() { 11 d := dom.GetWindow().Document() 12 textToLowercase := d.GetElementByID("textToLowercase").(*dom.HTMLInputElement) 13 14 textBytes, err := json.Marshal(textToLowercase.Value) 15 if err != nil { 16 println("Encountered error while attempting to marshal JSON: ", err) 17 println(err) 18 } 19 20 data, err := xhr.Send("POST", "/lowercase-text", textBytes) 21 if err != nil { 22 println("Encountered error while attempting to submit POST request via XHR: ", err) 23 println(err) 24 } 25 26 var s string 27 err = json.Unmarshal(data, &s) 28 29 if err != nil { 30 println("Encountered error while attempting to umarshal JSON data: ", err) 31 } 32 textToLowercase.Set("value", s) 33 }