2011-09-15 5 views
0

Google API를 통한이 간단한 웹 검색은 불안정합니다. 가끔 JSON이 "성공"이라고 생각하지만 responseData가 null 인 경우가있는 4 가지 첫 번째 결과를 반환하는 경우가 있습니다. 이러한 불일치가 발생하는 이유는 무엇입니까? 비동기적인 문제입니까? 어떻게하면 더 안정적으로 만들 수 있습니까? (내가 구글에서 이미지를 검색 할 때 안정된 바위입니다)왜 getJSON을 통한 간단한 Google 웹 검색이 항상 작동하지 않습니까?

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

저도 같은 문제가 있습니다. 로컬에서 실행한다는 사실과 관련이 있습니다. 배포 된 서버에서 실행되는 동일한 코드베이스가 오류를 발생시키지 않습니다. 이 문제는 내 발달에 지장을주었습니다. 누군가가 이유 또는 해결책을 제시 할 수 있다면 고맙겠습니다. – Baz

답변

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); 
     }); 
    }); 
}); 
+0

고마워요,하지만이 연습의 목적은 자바 스크립트 오류를 ​​선택하는 것이 아니라 더 안정적으로 만드는 것입니다. "오바마"는 100 만 건의 안타를 반환해야합니까? 그렇다면 왜 google/ajax/json은 null을 반환하고 여전히 "성공"이라고 생각합니까? – TOMvonMOM

관련 문제