Невозможно загрузить Google Изображения из его API, используя jQuery getJSON - PullRequest
3 голосов
/ 11 ноября 2010

Мой код указан ниже:

$.getJSON('https://ajax.googleapis.com/ajax/services/search/images?q=Google&v=1.0', 
function(json) {
  alert(json);
})​

Вы можете попробовать этот код здесь: http://jsbin.com/ofaru3/edit

Аякс это ошибка

imagesНе удалось загрузить ресурс

Как я могу исправить эту проблему? Спасибо!

1 Ответ

6 голосов
/ 11 ноября 2010

Вам нужно &callback=? в URL-адресе для запуска JSONP, например:

$.getJSON('https://ajax.googleapis.com/ajax/services/search/images?q=Google&v=1.0&callback=?', 
function(json) {
  alert(json);
});

Вы можете проверить это здесь .Без &callback? он пытается извлечь данные из удаленного домена с помощью XmlHttpRequest (AJAX) и завершается ошибкой / блокируется из-за той же политики происхождения .Это именно тот тип ситуации, для которого JSONP предназначен.

Из документов $.getJSON():

JSONP
Если URL содержит строку "callback =?"(или аналогичный, как определено серверным API), запрос обрабатывается как JSONP.См. Обсуждение типа данных jsonp в $.ajax() для получения более подробной информации.

...