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  }