Получить результаты изображения из Google Image API, возвращая недействительный ярлык (jQuery) - PullRequest
0 голосов
/ 17 сентября 2010

Поэтому я пытаюсь показать x количество изображений из Google, используя следующий код, но он продолжает возвращать недействительный ярлык.У кого-нибудь есть какие-либо идеи?заранее спасибо за помощь.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

<div id="google_images"></div>

<script type="text/javascript">
$(document).ready(function(){
var iURL = "http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=kufa+castro&format=json&jsoncallback=?";
$.getJSON(iURL,function(json) {
    $(json).each(function() {
        $.each(json.results, function(i,item)
        {    
            //$("#google_images").append(item.unescapedUrl);
            $('#google_images').html();            
        });
    });
});

});

Ответы [ 3 ]

1 голос
/ 17 сентября 2010

Вам нужно указать jsonp как dataType.

Посмотрите на эту работу: http://www.jsfiddle.net/FX79h/2/

0 голосов
/ 19 мая 2012

Я изменил тип данных на jsonp, как показано ниже:

dataType: 'jsonp'

и json.results до json.responseData.results и все работало нормально.

Я также использовал это для обновления моего блога WordPress соответствующим изображением на основе заголовка сообщения.

Код, который я использовал, указан ниже:

<script type="text/javascript">
$(function(){
var iURL = "http://ajax.googleapis.com/ajax/services/search/images";
$.ajax({
    url: iURL,
    type: 'GET',
    dataType: 'jsonp',
    data: {
        v:  '1.0',
        q:  $(".art-postheader").text(),
        format: 'json',
        jsoncallback:  '?'
    },
    success: callback
});
});

function callback(json){
    $("div.art-postcontent p:eq(2)")
.after("<img src='"
+json.responseData.results[0].unescapedUrl
+"' width='300px' align='left' />");
}
</script>
0 голосов
/ 19 ноября 2010

На всякий случай, если кто-то увидит это, я изменил это.закончил тем, что делал это следующим образом: (мог делать блоги или изображения - НО мог делать что-то другое из API Google с некоторыми изменениями)

// return values from using Googles Image API

// типы поиска (изображения, блоги) // для сообщений (postUrl, titleNoFormatting) // для изображений (unescapedUrl) функция google_search_api ($ search, $ searchType, $ count) {

$url = 'http://ajax.googleapis.com/ajax/services/search/'.$searchType.'?v=1.0&q='.urlencode($search).'&filter=1';
if($searchType == "images"){
    //&rsz=large
    $url .="&safe=moderate";
}
$ip=$_SERVER['REMOTE_ADDR'];
$url .="&userip=$ip&rsz=$count&key=".GOOGLE_API;
#echo $url;
$obj = json_decode( file_get_contents($url) );
foreach($obj->responseData->results as $i)
{
    // for images
    if($searchType == "images")
    {
        $source = "/timthumb.php?src=".$i->unescapedUrl."&a=t&h=75&w=75";
        //$source = $i->unescapedUrl;
        if (fopen($i->unescapedUrl, "r")) {
            echo "<li><img src=\"".$source."\" alt=\"".$search."\" width=\"75\" height=\"75\" /></li>";
        }
    }
    // for blogs
    else
    {
        //$title = mb_convert_encoding($i->titleNoFormatting, 'iso-8859-1');
        $title = mb_convert_encoding($i->titleNoFormatting, "ISO-8859-1", "UTF-8");
        echo "<li><a href=\"".$i->postUrl."\" rel=\"external\"/>".$title."</a></li>";
    }
}

} // ИСПОЛЬЗОВАНИЕ: google_search_api ('Jay Z', 'images', '5' )

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