2012-04-03 197 views
0

OK我在http://kleague.org/test/jQuery的JSONP請求獲得了403錯誤

類型電影的名字一個簡單的腳本,它應該輸出的電影名稱,年份,並獲得電影海報URL(如果有的話,有通常是)。

嗯,我只是試了一下,我得到了圖像上的403錯誤。它得到的圖像,但它沒有顯示它。我究竟做錯了什麼?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 

<head> 
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> 


    <title>IMDB api</title> 

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script> 


    <script type="text/javascript"> 
    $(document).ready(function() 
{ 




$('#search').click(function(){ 

$(".loading").css("display", "inline"); 


     var yourMovie = $("#movie").val(); 
    $("#debug").append("You are searching for ... "+yourMovie+"\n"); 

dataString = "callback=?&t=" +yourMovie; 

$.getJSON('http://www.imdbapi.com/', dataString, function(html){ 

$(".loading").css("display", "none"); 

    var movieSugg = html.Title; 
    var movieYear = html.Year; 
    var movieImg = html.Poster; 

$("#movieposter").attr("src", movieImg); 
$("#movieposter").css("display", "inline"); 

$("#more").append("You found: " + movieSugg + " ("+movieYear+") ["+movieImg+"] \n"); 
}); 

}); 


}); 
</script> 

</head> 
<body> 

<img src="" alt="Poster" id="movieposter" style="display: none;float:left;margin-right:10px;" /> 
<form method="get" action="#" enctype="text/html" > 
<input type="text" id="movie" maxlength="50" /> <a href="#" id="search">Search now!</a> <img alt="Searching..." style="display: none;" class="loading" src="ajax-loader.gif" title="Searching..." /> 

</form> 

<div id="other"> 

    Trigger the handler 
</div> 
<br /> 
<textarea id="debug" style="width: 500px;height:150px;border:1px solid black;font-face:typewriter;"></textarea><br /> 
<textarea id="more" style="width: 500px;height:150px;border:1px solid red;font-face:typewriter;"></textarea> 

</body> 
</html> 

回答

1

JSONP需要返回一個函數/腳本。通過AJAX加載圖片沒有用處。只需添加圖片本身就可以實現。

<img src="{html.poster here}" /> 
+0

我會試試,當我回家。謝謝。我目前即將登山。乞力馬扎羅山,所以我暫時無法使用電腦(或互聯網!)。祝我好運!再次感謝Topener! – nn2 2012-04-03 16:26:22