AnswerBun.com

Porque se me desordena un arreglo cuando lo envio por ajax + Laravel

Stack Overflow en español Asked by albertolg89 on January 1, 2022

Tengo una arreglo que lo mando desde mi controller ordenado a mi vista de esta manera:

public function getGrados(){

    return GradoHermano::orderBy('obtencion', 'desc')->where('reg_miembro_id', $this->id)->get();
}

y en la vista lo recibo de esta forma:

let grados_hermano = JSON.parse("{!! toJsJson( $regMiembro->getGrados() ) !!}");

despues hago un console.log(grados_hermanos) y me lo muestra ordenado. pero cuando lo envio por ajax para buscar algunos elementos que necesito me lo devuelve desordenado, este el codigo:

if(grados_hermano) {

for (var l = 0; l < grados_hermano.length; l++) {

    $.ajax({
        type: 'POST',
        url: '{{ route('regMiembros.datosGrado') }}',
        data: {
            id: grados_hermano[l].grado_id,
            fecha_obtencion_grado: grados_hermano[l].obtencion,
            numero_diploma: grados_hermano[l].num_diploma
        },

        success: function (data) {

        var grado = {
            id_count: 'grado_' + count_grados,
            grados: data.numero,
            fecha_obtencion_grado: data.fecha_obtencion_grado,
            numero_diploma: data.numero_diploma,
            texto: ''
        };

        arreglos_grados.push(grado);
        count_grados++;

            $("#grados option[value='"+ data.numero +"']").hide();

            $('#lista_grados').append('<tr id="' + id_count + '"><td style="text-align: center">' + data.nombre_grado + '</td><td style="text-align: center">' + grado.fecha_obtencion_grado + '</td><td style="text-align: center">' + MostrarDiploma(data.numero, grado.numero_diploma) + '</td><td style="text-align: center;"><button class="glyphicon glyphicon-trash" onclick="eliminarGrado('' + grado.id_count + '','' + grado.grados +'', '' + grado.texto +'')"></buton></td></tr>');

        },
        error: function (jqXHR, textStatus, errorThrown) {
            alert(jqXHR.responseText);
        }
    });
}


}

porque puede suceder esto. porque si pasa el elemento según un orden para el ajax cuando se devuelve y guardo en un arreglo usando push se desordena.

One Answer

La solución que emplee es la de hacer todo en el controller y me funciona perfectamente. Aquí dejo la respuesta de como lo solucioné:

En mi controller hice esto:

$arreglo_grados = [];
$count = 0;

$grados_ordenados = $regMiembro->getGrados();

foreach($grados_ordenados as $ordenados){

$grado_prueba = [
        'id_count' => 'grado_'. $count,
        'grados' => $ordenados->getNumeroGrado(),
        'fecha_obtencion_grado' => ObtenerFechaInicial($ordenados->obtencion),
        'numero_diploma' => $ordenados->num_diploma,
        'texto' => $ordenados->getGrado()->nombre
];

$arreglo_grados [] = $grado_prueba;
$count ++;
}

en la vista:

grados_hermano = JSON.parse("{!! toJsJson( $arreglo_grados ) !!}");

if(grados_hermano) {
    for (var l = 0; l < grados_hermano.length; l++) {

        var grado = {
            id_count: grados_hermano[l].id_count,
            grados: grados_hermano[l].grados,
            fecha_obtencion_grado: grados_hermano[l].fecha_obtencion_grado,
            numero_diploma: grados_hermano[l].numero_diploma,
            texto: grados_hermano[l].texto
        };

        arreglos_grados.push(grado);
        count_grados++;

        $("#grados option[value='"+ grados_hermano[l].grados +"']").hide();

        $('#lista_grados').append('<tr id="' + grados_hermano[l].id_count + '"><td style="text-align: center">' + grados_hermano[l].texto + '</td><td style="text-align: center">' + grado.fecha_obtencion_grado + '</td><td style="text-align: center">' + MostrarDiploma(grado.grados, grado.numero_diploma) + '</td><td style="text-align: center;"><button class="glyphicon glyphicon-trash" onclick="eliminarGrado('' + grado.id_count + '','' + grado.grados +'', '' + grado.texto +'')"></buton></td></tr>');

    }
}

Answered by albertolg89 on January 1, 2022

Add your own answers!

Related Questions

¿Porqué no funciona copiar un array? Javascript

3  Asked on August 22, 2020 by abo172013923

 

¿Como accedo a un @app.route desde otro app.route? Flask

1  Asked on August 21, 2020 by luciano

   

¿Activar cuchilla de corte en Epson TM T20ii con DocPrintJob en Java?

0  Asked on August 18, 2020 by cesar-martinez-quiroga

     

State changed from starting to crashed

0  Asked on August 17, 2020 by enzo

   

Extraer el tipo de un array a un elemento

1  Asked on August 14, 2020 by nonodev96

       

Guardar Archivos en Byte y subir a BD

1  Asked on August 13, 2020 by jose-alejandro-muoz

         

Problema con campo de tipo nvarchar en sql

0  Asked on August 10, 2020 by danny-a

     

no me funciona la paginacion con angular

1  Asked on August 8, 2020 by rafael-hernndez

   

como obtener toDataURL Canvas

1  Asked on August 7, 2020 by avilac3

   

Dos modelos en un solo template Django

1  Asked on August 3, 2020 by abiel-arcila

     

validar un array en js

1  Asked on August 2, 2020 by douglas-camargo

         

Problema con JButton en Java

2  Asked on August 2, 2020 by manvsmachine

 

Graficar una función con integrales en R

2  Asked on August 1, 2020 by sebastian-soto

 

No se sube la imagen en un formulario django

4  Asked on August 1, 2020 by marta

   

Ask a Question

Get help from others!

© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP, SolveDir