jQuery $.each json 对象语法,我相信



我试图将每个json对象数据添加到div中。

但是我对语法有一些问题。

我不知道为什么第一个警报有效。但不是下面的html??

我收到错误:"电影未在 buf.push 上定义",只要我重新加载页面。

这是我的代码:

$(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{
                            $.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();
            });
          });

感谢在正确方向上提供的任何帮助:)

我猜你正在将其他一些语言的回声与javascript混合在一起。

试试这个:

$.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>';
 });

继发性原因;

您可能需要添加

dataType: 'json'

data = $.parseJSON(data);

如果使用 json 作为 AJAX 结果字符串。

相关内容

最新更新