通过谷歌API进行简单的网络搜索是不稳定的。有时它返回4个第一个发现(应该如此),有时JSON认为它是“成功”但responseData是null。为什么我会遇到这些不一致的问题?这是一个异步问题吗?如何让它更稳定? (当我在谷歌搜索图像时,它是稳定的)
var baseUrl = "https://ajax.googleapis.com/ajax/services/search/web?v=1.0&start=0&q=";
var searchTerm = "obama"; //Lots of hits
$(document).ready(function() // don't do anything until the document is loaded.
{
$.getJSON(baseUrl + searchTerm + "&callback=?", function(json) // call getJSON providing the complete url with search term and a JSONP callback
{
$.each(json.responseData.results, function(i, gResults){
console.log("title: " + gResults.titleNoFormatting);
});
});
});
当它失败时,我在json数据结构中找到它:
json.responseDetails: "Suspected Terms of Service Abuse. Please see
http://code.google.com/apis/errors"
所以谷歌认为我用太多的请求攻击它。我是否必须设置API密钥?现在我只包括
<meta name="google-site-verification" content="myAPIkey-Herevbng66r" />
但是我在我的本地电脑上运行,所以也许它无济于事......
答案 0 :(得分:0)
试试这个:
function(json) // call getJSON providing the complete url with search term and a JSONP callback
{
if (json.responseData === null)
console.log("json returned nothing");
else
$.each(json.responseData.results, function(i, gResults){
console.log("title: " + gResults.titleNoFormatting);
});
});
});