#javascript #jquery #ajax #get #google-search-api
#javascript #jquery #ajax #получить #google-search-api
Вопрос:
Я пытаюсь вызвать API пользовательского поиска Google с помощью jQuery и получаю сообщение об ошибке access-control-origin. Это работает:
<script>
function hndlr(response) {
console.log(response);
for (var i = 0; i < response.items.length; i ) {
var item = response.items[i];
$('#content').append(item.htmlTitle "<br/>");
}
}
</script>
<script src="https://www.googleapis.com/customsearch/v1?key=AIzaSyABvGyx3nwDJJtbaRe2_UZhakVSpcxfebUamp;cx=017576662512468239146:omuauf_lfveamp;q=perlin noiseamp;callback=hndlr"></script>
но если я попытаюсь ввести jquery, это не сработает:
var url = "https://www.googleapis.com/customsearch/v1?key=[MY_KEY]amp;q=perlin noiseamp;callback=hndlr";
$.ajax({
url: url,
dataType: 'json',
success: function(data){
console.log('data:' data);
}
или
$.get(url, function(data) {
console.log(data)
});
Ответ №1:
Вы выполняете междоменный запрос, поэтому вам нужно использовать JSONP.
Я рекомендую использовать $.getJSON
Вы бы хотели установить четкий обратный вызов, чтобы этот JSONP не вызывал функцию
Комментарии:
1. Спасибо — да — по какой-то причине getJSON не работает ($.getJSON(url);)
Ответ №2:
Похоже, это сработало:
$.ajax({
type: 'GET',
url: url,
dataType: 'jsonp'
});