Ошибка источника контроля доступа при вызове API пользовательского поиска Google через jQuery - PullRequest
0 голосов
/ 25 октября 2011

Я пытаюсь вызвать 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)
});

Ответы [ 2 ]

2 голосов
/ 25 октября 2011

Это, кажется, работает:

$.ajax({
    type: 'GET',
    url: url,
    dataType: 'jsonp'
});
2 голосов
/ 25 октября 2011

Вы делаете междоменный запрос, поэтому вам нужно использовать JSONP.

http://davidwalsh.name/jsonp

Я рекомендую использовать $ .getJSON

. Вы хотите установитьпонятный обратный вызов, так что этот JSONP не вызывает функцию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...