Awesome
js/xhr
Package xhr provides GopherJS bindings for the XMLHttpRequest API.
Install
go get github.com/rocketlaunchr/gopherjs-xhr
Usage
node.js
Install npm package xhr2
File: imports.inc.js
global.XMLHttpRequest = require('xhr2');
node.js and browser
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)
Documentation
For documentation, see http://godoc.org/github.com/rocketlaunchr/gopherjs-xhr