0

JQuery を使用して Google カスタム検索 API を呼び出そうとすると、アクセス制御元のエラーが発生します。これは機能します:

<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);
}

また

$.get(url, function(data) {
    console.log(data)
});
4

2 に答える 2

2

クロスドメイン リクエストを行っているため、JSONP を使用する必要があります。

http://davidwalsh.name/jsonp

$.getJSON の使用をお勧めします

JSONP が関数を呼び出さないように、クリア コー​​ルバックを設定する必要があります。

于 2011-10-25T17:11:54.220 に答える
2

これはうまくいったようです:

$.ajax({
    type: 'GET',
    url: url,
    dataType: 'jsonp'
});
于 2011-10-25T18:22:27.390 に答える