Я пытаюсь вызвать API пользовательского поиска Google с помощью JQuery и получаю ошибку источника контроля доступа. Это работает:
<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_UZhakVSpcxfebU&cx=017576662512468239146:omuauf_lfve&q=perlin+noise&callback=hndlr"></script>
но если я попытаюсь ввести jquery, это не сработает:
var url = "https://www.googleapis.com/customsearch/v1?key=[MY_KEY]&q=perlin+noise&callback=hndlr"; $.ajax({ url: url, dataType: 'json', success: function(data){ console.log('data:' + data); }
OR
$.get(url, function(data) { console.log(data) });
Это, кажется, работает:
$.ajax({ type: 'GET', url: url, dataType: 'jsonp' });
Вы делаете междоменный запрос, поэтому вам нужно использовать JSONP.
http://davidwalsh.name/jsonp
Я рекомендую использовать $ .getJSON
. Вы хотите установитьпонятный обратный вызов, так что этот JSONP не вызывает функцию