Доблесть Recuperar de ООН выстраивает массив de json, подставляют jQuery

Tengo los siguientes datos que son devueltos en json para recuperar los con jQuery

$response = array($query_license,$query_estate);
    if ($this->request->is('ajax')) {
        echo json_encode($response,TRUE);
        die();
    }

esta es la respuesta del json en codigo php

[[{"cantidad_pendiente":5}],[{"estado":3}]]

ми función para recuperar los datos del json

$.ajax({
            type: 'GET',
            async: true,
            cache: false,
            url: license,
            dataType: 'json',
            data:{id_user_license:id_user_license,id_evaluation:id_evaluation},
            success: function (data){
                $.each(data,function(i,s){
                    console.log(s);
                    if(s[0].cantidad_pendiente === 0){
                        $("#message_license").html('<p>Usted no cuenta con licensias disponibles</p>');
                        $("#modal_report__footer").html('<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancelar</button>');
                    }else if(s[0].estado === 3){
                        $("#message_license").html('<p>Usted cuenta con '+ s[0].cantidad_pendiente +'</p>');
                        $("#message_consumed").html('<p>Esta evaluacion ya consumio licencia</p>');
                        $("#modal_report__footer").html('<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancelar</button>');
                    }else{
                        $("#message_license").html('<p>Usted cuenta con '+ s[0].cantidad_pendiente +'</p>');
                        $("#modal_report__footer").html('<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancelar</button> <button type="submit" class="btn btn-danger">Consumir</button>');
                    }
                });
            }
        });

ahora verifique Лос довод "против" datos console.log(data); esto fue el resultado

introducir la descripción de la imagen aquí

Ahora cuando lo hago los mismo pero dentro del each

$.each(data,function(i,s){
          console.log(s)
 }

я resulta esto

introducir la descripción de la imagen aquí

ми ahora duda es Комо я доблесть posiciono en cantidad_pendiente y mostrar su al usuario, porque haciéndolo asi $("#message_license").html('<p>Usted cuenta con '+ s[0].cantidad_pendiente +'</p>'); dentro de mi, если я muestra неопределенный tal vez estoy haciendo mal :(

1
задан 20.01.2017, 21:54
0 ответов

Твоя проблема коренится в том, что твой array JSON сформирован плохо, но я поставляю тебе заплату для того, чтобы ты смог работать, не изменяя твоего JSON.

data = [[{"cantidad_pendiente":5}],[{"estado":3}]];
$.each(data,function(i,s){
    if (data[i][Object.keys(data[i])].cantidad_pendiente){
        console.log("Cantidad pendiente: "+data[i][Object.keys(data[i])].cantidad_pendiente);
    }
    if (data[i][Object.keys(data[i])].estado){
        console.log("Estado: "+data[i][Object.keys(data[i])].estado);
    }
});

С этими общими утверждениями ты был бы должен мочь idendificar, если ты обрабатываешь ГОСУДАРСТВО или НЕЗАКОНЧЕННОЕ КОЛИЧЕСТВО, чтобы выполнять рутину, в которой ты нуждаешься.

Я не знаю, как ты формировал этот array, но не возможно соглашаться на индекс посредством key, который интерпретирует консоль, именно поэтому я использую прототип Object.keys (), чтобы возвращать KEY последнего уровня каждого array. Нужно доводить до сведения, что это решение только стоится тем, что последний уровень твоего одинокого array имеет KEY.

Я оставляю тебе пример подобно доказательству концепции: https://jsfiddle.net / 12ubqodq /

1
ответ дан 03.12.2019, 17:36