Вопрос

Я пытаюсь сделать свой образ поиска с Google Ajax Search Я использую jQuery. Так что ниже моего кода

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

Консоль напечатана NULL и MY 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

Я не уверен, что вон. Помогите мне плз

Это было полезно?

Решение

Ваш URL нужен небольшой твик для триггера JSONP, добавить &callback=? На конце, как это:

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

Вы можете увидеть, что он работает здесь, посмотрите на консоль.

Если jQuery видит callback=? в URL он заменяет его с именем функции, который он генерирует (что ваша function(data) Обратный вызов), и это то, что запускается, когда запрос JSONP возвращается. Видеть то $.getJSON() документация за ту же информацию.

Без этого пытается сделать XMLHTTPREQUESEST, и его заблокированы политика одинакового происхождения, так как это на другой домене.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top