title: How to output golang http json body to website page using html/javascript/jquery
body: <p>I've got a Golang Website where I want to display 'scores' from my UWP Game using SQLite's Mobile App Quickstart's API called SwaggerUI. I am getting the scores by doing a HTTP GET request. The problem is that the scores output to the Golang console in JSON Format. I want to display the scores onto the actual website. How could I call my golang function in the Frontend in order to do this? The frontend is written in HTML/Javascript/JQuery.</p>
  
  <p>This is my Golang Function that does the HTTP Request to SwaggerUI and outputs to the Golang Console:</p>
  
  <pre><code>func scoresPage(res http.ResponseWriter, req *http.Request) {
  
  //Connecting to SwaggerUI API to get Scores from Azure for UWP Application
  
  req, err := http.NewRequest("GET", os.ExpandEnv("https://brainworksappservice.azurewebsites.net/tables/TodoItem?$select=score"), nil)
  if err != nil {
      log.Fatal(err)
  }
  //You have to specify these headers
  req.Header.Set("Accept", "application/json")
  //If you do not specify what version your API is, you cannot receive the JSON
  req.Header.Set("Zumo-Api-Version", "2.0.0")
  
  //Do the request
  resp, err := http.DefaultClient.Do(req)
  //Error if the request cannot be done
  if err != nil {
      log.Fatal(err)
  }
  
  //You need to close the Body everytime, as if you don't you could leak information
  defer resp.Body.Close()
  
  //Read all of the information from the body
  body, err := ioutil.ReadAll(resp.Body)
  
  //Error if the info cannot be read
  if err != nil {
      log.Fatal(err)
  }
  
  //Write the JSON to the standard output (the Console)
  _, err = os.Stdout.Write(body)
  //Error if the info cannot be output to the console
  if err != nil {
      log.Fatal(err)
   }
  
  http.ServeFile(res, req, "Scores.html")
  } `
  </code></pre>
  
  <p>This is the main Function which serves up the website and handles the scores page:</p>
  
  <pre><code>func main() {
  http.HandleFunc("/scores", scoresPage)
  
  //serve on the port 8000 forever
  http.ListenAndServe(":8000", nil)
  } 
  </code></pre>