如何使用JavaScript调用此对象数组的字段?

时间:2019-05-18 14:39:18

标签: javascript arrays json

我想用JavaScript调用这些数组:

在json_encode中:

{
    "result": "success",
    "resultaQuantidade": 5,
    "1": {
        "contador": 1,
        "id": "2",
        "imagem_capa": "\/images\/boruto.jpg",
        "titulo_en": "Boruto: Naruto Next Generations",
        "status": "ESPERANDO",
        "total_ep": "12",
        "numero_ep_cp": "??",
        "tipo": "NOVEL",
        "nota": "0.00"
    },
    "2": {
        "contador": 2,
        "id": "1",
        "imagem_capa": "\/images\/sword.jpg",
        "titulo_en": "Sword Art Online",
        "status": "COMPLETO",
        "total_ep": "24",
        "numero_ep_cp": "25",
        "tipo": "TV",
        "nota": "8"
    }
}

在var_dump中:

  array(4) {
  ["result"]=>
  string(7) "success"
  ["resultaQuantidade"]=>
  int(5)
  [1]=>
  array(9) {
    ["contador"]=>
    int(1)
    ["id"]=>
    string(1) "2"
    ["imagem_capa"]=>
    string(18) "/images/boruto.jpg"
    ["titulo_en"]=>
    string(31) "Boruto: Naruto Next Generations"
    ["status"]=>
    string(9) "ESPERANDO"
    ["total_ep"]=>
    string(2) "12"
    ["numero_ep_cp"]=>
    string(2) "??"
    ["tipo"]=>
    string(5) "NOVEL"
    ["nota"]=>
    string(4) "0.00"
  }
  [2]=>
  array(9) {
    ["contador"]=>
    int(2)
    ["id"]=>
    string(1) "1"
    ["imagem_capa"]=>
    string(17) "/images/sword.jpg"
    ["titulo_en"]=>
    string(16) "Sword Art Online"
    ["status"]=>
    string(8) "COMPLETO"
    ["total_ep"]=>
    string(2) "24"
    ["numero_ep_cp"]=>
    string(2) "25"
    ["tipo"]=>
    string(2) "TV"
    ["nota"]=>
    string(1) "8"
  }
}

JavaScript代码:

    $.ajax({
        type: "GET",
        url: "/ajax/CarregarAnimesListaT.php",
        data: {
        'offset': flag,
        'limit': 3,
        'usuarioid': usuarioid
        },
        dataType: 'json',
        beforeSend: function(){
            document.getElementById("loading-space-js").style.display = "block";
        },
        success: function (data) {  
            var dados = data;
            $("tbody tr").last().remove();

            for(var i = 0; i < data.resultaQuantidade; i++){
                $("tbody").append('<tr><td>'+data.dados[i].id+'</td><td>'+data.dados[i].name+'</td><td>'+data.dados[i].email+'</td><td>'+data.dados[i].senha+'</td></tr>');
                document.getElementById("loading-space-js").style.display = "none";
                flag += 3;
            }

            var conta = $("tbody tr").length;

            if(conta == data.resultaQuantidade){
                $("button.carregar-mais").hide();
            }

        },
        error: function(errorThrown2)
        { 
            swal("Opps!", "Ocorreu algum erro no sistema de carregamento de lista! [" + errorThrown2 + "]", "error"); 
        }
});

1 个答案:

答案 0 :(得分:0)

尝试将您的“成功”功能替换为:

success: function (data) {  
    var dados = data;
    $("tbody tr").last().remove();

    var conta = 0;
    var len = Number(data.resultaQuantidade); // convert to number
    for(var i = 0; i < len; i++){
        var obj = data[String(i)]; // String = convert number to string

        // resultaQuantidade may be incorrect
        if(obj){
            $("tbody").append('<tr><td>'+obj.id+'</td><td>'+obj.name+'</td><td>'+obj.email+'</td><td>'+obj.senha+'</td></tr>');
            document.getElementById("loading-space-js").style.display = "none";
            conta++;

            //flag += 3;
        }

    }

    if(conta == len){
        $("button.carregar-mais").hide();
    }

},