Javascript 如何从我的Google自定义搜索API AJAX调用中提取JSON数据?

Javascript 如何从我的Google自定义搜索API AJAX调用中提取JSON数据?,javascript,json,ajax,google-api,google-custom-search,Javascript,Json,Ajax,Google Api,Google Custom Search,我会尽量让它简单快捷 我正在使用谷歌的自定义搜索api来搜索我的网站。我使用一个非常基本的AJAX调用发布搜索查询 var search_term = 'mysite.com'; var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200)

我会尽量让它简单快捷

我正在使用谷歌的自定义搜索api来搜索我的网站。我使用一个非常基本的AJAX调用发布搜索查询

       var search_term = 'mysite.com'; 
       var xhttp = new XMLHttpRequest();
       xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
          var response = this.responseText;
          console.log(response);
        };
      };
      xhttp.open("GET", search_term, true);
      xhttp.send();
它按预期工作。我在console.log中记录this.responseText。语法返回类似于belowI的内容,并将其缩短很多,以使问题更易于阅读

// API callback
hndlr({
 "kind": "customsearch#search",
 "url": {
  "type": "application/json"
},
"queries": {
  "request": [
   {
    "title": "Google Custom Search - site:www.mysite.com.au gallery",
    "totalResults": "150",
    "searchTerms": "site:www.mysite.com.au gallery",
    "count": 10,
    "startIndex": 1,
    "inputEncoding": "utf8",
    "outputEncoding": "utf8",
    "safe": "off",
    "cx": "006655164624831528:nz6utbz01b0"
   }
  ]
}
});
语法看起来像一个函数,我想提取内部JSON对象并使用该数据。我试过用谷歌搜索这个,但没有成功,可能是因为我不知道到底要搜索什么。 我该怎么做

非常感谢你的帮助

谢谢大家


Moe

我们也可以使用jquery来实现这个

<script type="text/javascript" src="jquery-1.7.1.js"></script>
<script type="text/javascript" >
$(document).ready(function(){

            var data = GetURLParameter('search_data'); //that data we passed for google search

            $.getJSON('https://www.googleapis.com/customsearch/v1?key=your key&cx=YOUR CX&q='+data, function(resp)
            {

                 var i=0;

                 while(i<=10)
                {
                    var title=resp.items[i].title;
                    var link=resp.items[i].link;


                    alert(title);

                    i++;
                }

            });
});

function GetURLParameter(sParam)
{
    var sPageURL = window.location.search.substring(1);
    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++)
    {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam)
        {
            return decodeURIComponent(sParameterName[1]);
        }
    }
}
</script>

如果您的响应以这种格式返回,那么它已经被解析了。只要访问它。this.responseText.querys.request[0]。titlePerfect。谢谢@trevster34。成功了。我还包括一个hndlr函数,并且能够使用response.items符号访问数据。当然,干杯。当心。