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.
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
1 Asked on December 18, 2020 by fernando-aguayo
2 Asked on December 18, 2020 by ethernal
2 Asked on December 17, 2020 by manzarbeitia
1 Asked on December 16, 2020 by aday-hernndez
0 Asked on December 15, 2020 by roberto-alonso-pepn-sanchez
0 Asked on December 15, 2020 by maria-jos-silva
2 Asked on December 15, 2020 by a-cedano
0 Asked on December 14, 2020 by soyunewok
1 Asked on December 14, 2020 by ming-ye
1 Asked on December 14, 2020 by ignacio-garca
0 Asked on December 14, 2020 by daniel-garca
1 Asked on December 13, 2020 by dylan-nuga
1 Asked on December 12, 2020 by gibran-alexis-moreno-zuiga
2 Asked on December 12, 2020 by xelo-candia
android dart flutter google cloud firestore visual studio code
Get help from others!
Recent Questions
Recent Answers
© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP