我在javascript / jquery中循环时遇到麻烦

时间:2015-07-01 14:45:40

标签: javascript jquery arrays loops

我有以下代码。无论何时我更改数组中的值 - data[0]表示data[1]值都会更改。我在data数组中存储了大约4个项目。

$(document).ready(function() {
  $.ajax({
    cache: false,
    url: "http://<mywebsite>/user/id/1",
    type: 'GET',
    crossDomain: true,
    dataType: 'json',
    success: function() {
        alert("Success");
    },
    error: function() {
        alert('Failed!');
    },
  }).then(function(data) {
    var result = data [1];
    console.log(result);
    $('.ch-name').append(result.ch_name);
    $('.ch-logo').append(result.ch_logo);
    $('.ch-desc').append(result.ch_desc);
    $('.ch-genre').append(result.ch_genre);
  });

});

我想显示数组中的所有数据。我怎么做?我试过这样做,但它没有用。我也尝试了其他方法,但仍然。

  $(document).ready(function() {
      $.ajax({
        cache: false,
        url: "http://<mywebsite>/user/id/1",
        type: 'GET',
        crossDomain: true,
        dataType: 'json',
        success: function() {
            alert("Success");
        },
        error: function() {
            alert('Failed!');
        },
    }).then(function(data) {
        var result = data [1];
        console.log(result);

    for (i = 0; i < result.length; i++) {
        $('.ch-name').append(result[i].ch_name);
        $('.ch-logo').append(result[i].ch_logo);
        $('.ch-desc').append(result[i].ch_desc);
        $('.ch-genre').append(result[i].ch_genre);
    }    
  });
});

1 个答案:

答案 0 :(得分:2)

描述有点不清楚,但我想我知道你想要做什么。

应该通过将for循环更改为循环数据而非结果

来完成
for (i = 0; i < data.length; i++) {
    $('.ch-name').append(data[i].ch_name);
    $('.ch-logo').append(data[i].ch_logo);
    $('.ch-desc').append(data[i].ch_desc);
    $('.ch-genre').append(data[i].ch_genre);
} 

如果这不是您想要做的,请发布数据结构的样子,以及您希望如何显示