jQuery JSONP图像请求获得403错误

时间:2012-04-03 16:00:45

标签: javascript jquery ajax security

好的我在http://kleague.org/test/

有一个简单的脚本

输入一个电影名称,它应输出电影名称,年份,并获取电影海报网址(如果有的话,通常会有。)

好吧,我刚尝试过,我在图片上收到403错误。 GOT图像,但它没有显示它。我做错了什么?

<!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 个答案:

答案 0 :(得分:1)

JSONP需要返回一个函数/脚本。通过AJAX加载图像是没有用的。只需附加图像本身就可以了。

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