通过jQuery调用Google自定义搜索API的访问控制原始错误

时间:2011-10-25 16:47:05

标签: javascript jquery ajax get google-search-api

我正在尝试使用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);
}

OR

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

2 个答案:

答案 0 :(得分:2)

您正在执行跨域请求,因此您必须使用JSONP。

http://davidwalsh.name/jsonp

我建议使用$ .getJSON

您可能希望设置清除回调,以便JSONP不会调用函数

答案 1 :(得分:2)

这似乎有效:

$.ajax({
    type: 'GET',
    url: url,
    dataType: 'jsonp'
});