2011-09-05 20 views
0

這段代碼在IE8,Chrome,Firefox中運行正常,但是在Opera 11.5中,它只有在我取消註釋警告行時才起作用,任何人都可以解釋爲什麼?用jQuery和json加載谷歌圖片 - 不適用於Opera

$.ajax({ 
url:"https://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=barack%20obama&key=YOUR-GOOGLE-API-KEY", 
dataType:"jsonp", 
success: function(data){ 


for (var i = 0; i < data.responseData.results.length; i++){ 

/* alert(data.responseData.results[i].tbUrl); */ 

$('#image-container').append('<img src="' + data.responseData.results[i].tbUrl + '">' + '<br>'); 

} 


} 

});

這裏:http://jsonlint.com/您可以查看JSON響應

回答

1

您需要添加callback=?以URL爲 「允許」 JSONP。

$.ajax({ 
    url: "https://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=barack%20obama&callback=?", 
    dataType: "jsonp", 
    success: function(data) { 


     for (var i = 0; i < data.responseData.results.length; i++) { 

      /* alert(data.responseData.results[i].tbUrl); */ 

      $('#image-container').append('<img src="' + data.responseData.results[i].tbUrl + '">' + '<br>'); 

     } 
    } 


}); 

http://jsfiddle.net/genesis/TyDHK/2

+0

沒有,只是去在http://jsonlint.com/並粘貼

https://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=barack%20obama&key=YOUR-GOOGLE-API-KEY
drdarwin

+0

你會看到,https://ajax.googleapis.com/ajax/services/search/images ?v = 1.0&q = barack%20obama&key = YOUR-GOOGLE-API-KEY retutn json response,while ..?callback =?返回虛假 – drdarwin

+0

請看看我的編輯和小提琴。它工作(你不需要鑰匙) – genesis