我正在尝试使用.each()遍历一个json对象,但是我在努力使语法正确。

Ajax调用,导致“未定义”:

$('.showGroup a').on('click', function(e) {
e.preventDefault();
    var _href = $(this).attr("href");
     $.ajax({
       dataType: 'json',
       url : _href,
       type : 'GET',
       success : function(response) {
          $("#replace").empty();
          display = response;
        $.each(display, function(i, member) {
            alert(display[i].company_name);
        });
     },
    error : function() {
        console.log('error');
    }
  });
});


如果我只是打电话给alert(display [i]);我的json对象看起来像这样:

{"total":134,"per_page":15,"current_page":1,"last_page":9,"from":1,"to":15,"data":[{"id":"89","company_name":"test" ...


我也尝试嵌套另一个.each()循环,但得到响应:Uncaught TypeError:无法使用'in'运算符搜索'17381'

我已经查看了几个SO答案,并尝试了各种样式的.each循环,但始终会遇到未定义的错误。

我想念什么?

编辑
我在后端构造像这样的json:

$members = $this->user->getMemberIds($loggedIn->id, $display, $associationFilter);
           $this->arrResponse['members'] = $members->toJson();
return Response::json($this->arrResponse);

最佳答案

您可以通过以下方式访问每个循环:

$.each(display, function (i, member) {
for (var i in member) {
    alert("Company Name: " + member[i].company_name);
 }
});


DEMO

07-24 09:51
查看更多