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

时间:2014-12-18 14:02:18

标签: jquery syntax

我试图将每个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();
            });
          });

感谢任何正确方向的帮助:)

1 个答案:

答案 0 :(得分:2)

我想用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结果字符串。