GitHub - rocketlaunchr/gopherjs-xhr (original) (raw)

Package xhr provides GopherJS bindings for the XMLHttpRequest API.

import ( "context"

xhr "github.com/rocketlaunchr/gopherjs-xhr"
"github.com/gopherjs/gopherjs/js"
"github.com/rocketlaunchr/react/forks/encoding/json"

)

req := xhr.NewRequest("POST", reqURL) req.ResponseType = xhr.Text // Returns response as string req.SetRequestHeader("Content-Type", xhr.ApplicationForm)

postBody := NewParams(js.M{"setting": 4})

err := req.Send(context.Background(), postBody.String()) if err != nil { // Could not connect to internet??? // Unfortunately XMLHttpRequest does not provide nuanced reasons. return }

if !req.IsStatus2xx() { // Something went wrong return }

// Unmarshal json response here using encoding/json. Otherwise set req.ResponseType = "json". err = json.Unmarshal(req.ResponseBytes(), &sb)