Pergunta

Estou tentando fazer minha pesquisa de imagens com a pesquisa do Google Ajax, estou usando o jQuery. Então, abaixo do meu código

$.getJSON('http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=hello', function(data) {
    console.log(data);
});

o console impresso nulo e minha informação XHR é

request URL:http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=hello
Request Headers
Accept:application/json, text/javascript, */*
Cache-Control:max-age=0
Origin:http://example.local
Referer:http://example.local/thread/create
User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.127 Safari/533.4

Não tenho certeza do que é Wong. Ajude -me, por favor

Foi útil?

Solução

Seu URL precisa de um pequeno ajuste para acionar JSONP, adicione &callback=? No final, assim:

$.getJSON('http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=hello&callback=?', function(data) {
  console.log(data);
});

Você pode ver isso trabalhando aqui, dê uma olhada no console.

Se JQuery vê um callback=? No URL, ele o substitui por um nome de função que ele gera (que é o seu function(data) retorno de chamada), e é isso que é executado quando a solicitação JSONP voltar. Ver a $.getJSON() documentação Para a mesma informação.

Sem isso, está tentando fazer um xmlHttPrequest, e sendo bloqueado por A política da mesma origem, já que está em outro domínio.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top