【发布时间】:2014-12-18 15:38:59
【问题描述】:
我正在尝试为我得到的每个结果显示图像。
我有当前的代码。
$(document).ready(function() {
var frm = $('#searchmovie');
frm.submit(function (ev) {
$.ajax({
type: frm.attr('method'),
url: frm.attr('action'),
data: frm.serialize(),
crossDomain: true,
success: function (data) {
//alert('Got response from server!');
if(data == "404"){
alert('404, no results found');
}
else{
data = $.parseJSON(data);
$.each(data, function(index,movie) {
//alert(movie.imdb_id);
content += '<div class="col-xs-6 col-md-3 text-center">
<a class="poster-container" href="/movie?imdb_id='+ movie.imdb_id +'">
<img src="http://img.omdbapi.com/?apikey=xxxxxx&h=376&i='+movie.imdb_id+'" height="376" width="251">
</a>
</div>';
});
//content = '<div class="img_wrapper">';
$('#movieresults').append(content);
//$('#movieresults').append(JSON.stringify(data));
}
}
});
ev.preventDefault();
});
});
问题是当我使用下面的 alert(movie.imdb_id) 时:
else{
data = $.parseJSON(data);
$.each(data, function(index,movie) {
alert(movie.imdb_id);
});
}
我收到警报并停留在当前页面上。这就是我想要的。 但是当我使用“内容”时,我会被重定向到 API:s res.json 页面......?这是为什么呢?
【问题讨论】:
-
$('#movieresults').append('<div class="col-xs-6 col-md-3 text-center"> <a class="poster-container" href="/movie?imdb_id='+ movie.imdb_id +'"> <img src="http://img.omdbapi.com/?apikey=xxxxxx&h=376&i='+movie.imdb_id+'" height="376" width="251"> </a> </div>');会重定向你吗? -
好吧,我想。因为当我只使用警报时,我没有被重定向..?我评论“$('#movieresults').append(content);”也。
-
尝试在 ajax 调用之前移动 ev.preventDefault() ?
-
Klepthys 所说的写作和 Hacketo 所说的都没有区别.. :(
-
您的代码在
content += '...'中是否真的有回车?因为如果是这样,那将是一个语法错误并且脚本不会运行