supersuraccoon
supersuraccoon

Reputation: 1691

google Custom Search api in a js file

First I found the demo in google doc:

<html>
  <head>
    <title>JSON/Atom Custom Search API Example</title>
  </head>
  <body>
    <div id="content"></div>
    <script>
      function hndlr(response) {
          // handle result
      }
    </script>
    <script src="https://www.googleapis.com/customsearch/v1?key=KEY&cx=cx&q=cars&callback=hndlr">
    </script>
  </body>
</html>

And it works fine.

But know I want to trigger the "search process" inside a js file say mySearch.js, so how can I get this done ?

example:

var XXXLayer = cc.Layer.extend({
    init:function () {
        this._super();
        var theUrl = 'https://www.googleapis.com/customsearch/v1?key=KEY&cx=cx&q=cars&callback=hndlr';

        // what to do here ???????

        return true;
    },
    hndlr:function(response) {
          // handle result
    }
});

Any suggestion would be appreciated thanks :)

Upvotes: 1

Views: 2271

Answers (2)

Nikki Luzader
Nikki Luzader

Reputation: 111

using the code from @RamK, do the following:

index.html:

<html>
  <head>
    <title>Example</title>
  </head>
  <body>
    <div id="query"></div>
    <script src="cs.js"></script>
  </body>
</html>

cs.js:

var key = "your api key";                // API KEY
var id = "your custom search engine id"; // CSE ID
var q = "cats";                          // QUERY


function hndlr(response) {
  console.log(response);                 // a way to see your results
}

function triggersearch(){
  var query=document.getElementById("query").value;
  var JSElement = document.createElement('script');
  JSElement.src = `https://www.googleapis.com/customsearch/v1?key=${key}&cx=${id}&q=${q}`+query+'&callback=hndlr';
  document.getElementsByTagName('head')[0].appendChild(JSElement);
}

triggersearch();

Upvotes: 0

RamK
RamK

Reputation: 41

You could add a script element, when you trigger the search process.

function triggersearch(){
     var query=document.getElementById("query").value;
     var JSElement = document.createElement('script');
     JSElement.src = 'https://www.googleapis.com/customsearch/v1?key=KEY&cx=KEY&q='+query+'&callback=hndlr';
     document.getElementsByTagName('head')[0].appendChild(JSElement);
}

Upvotes: 1

Related Questions