title: Javascript XML Http request using the Google Custom Search Element api
body: <p>I am working on a chrome extension that was utilizing the google search api, to return an image from an ajax request.  Apparently the api is no longer functional, so I was wondering how I could make a similar request with the Custom Search Element Api.  I have pasted the portion of my code that was making the request below.  </p>
  
  <pre><code>var logo = function (searchTerm, callback, message, name) {
      var searchUrl = 'https://ajax.googleapis.com/ajax/services/search/images'     +
          '?v=1.0&amp;q=' + encodeURIComponent(searchTerm);
      var x = new XMLHttpRequest();
      x.open('GET', searchUrl);
  
      // The Google image search API responds with JSON, so let Chrome parse it.
      x.responseType = 'json';
  
      x.onload = function() {
          // Parse and process the response from Google Image Search.
          var response = x.response;
          if (!response || !response.responseData || !response.responseData.results ||
              response.responseData.results.length === 0) {
              console.log( "loading error" )
              console.log(response)
              console.log(response.responseData)
              console.log(response.responseData.results)
          }
          var firstResult = response.responseData.results[0];
          // Take the thumbnail instead of the full image to get an approximately
          // consistent image size.
          var imageUrl = firstResult.tbUrl;
          var width = parseInt(firstResult.tbWidth);
          var height = parseInt(firstResult.tbHeight);
  
          console.assert(
              typeof imageUrl == 'string' &amp;&amp; !isNaN(width) &amp;&amp; !isNaN(height),
              'Unexpected respose from the Google Image Search API!');
          callback(imageUrl, width, height, message, name);
      };
      x.onerror = function() {
        alert("error")
           document.writeln("network error");
      };
      x.send();
  }
  </code></pre>
  
  <p>I have been trying to figure it out by reading the the <a href="https://developers.google.com/custom-search/docs/element?hl=en" rel="nofollow">documentation</a>, but I could definitely use some help.</p>