Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

189
Visualizações
¿Cómo evitas que Chrome y Opera clasifiquen objetos JSON por índice ASC?

Tengo un problema.

Usando ajax, envié un objeto JSON formado correctamente usando:

 $.ajax({ type: "POST", url: SITE_URL+'/data.php', dataType: "json", data: { ajax: 1 }, success: function(data) { console.log(data); } });

Sin embargo, Opera y Chrome, aunque reciben el mismo objeto, lo imprimen en un orden incorrecto, ¡parece que ambos realizan una clasificación por número de ID en lugar de dejarlo solo!

¿Hay alguna manera de detener esta ordenación automática?

Editar, después de descubrir que es una ordenación por número de índice, creo que el mejor método podría ser no usar el índice para almacenar el object_id y, en cambio, almacenar el número de identificación por el que quiero ordenar el objeto.

Sin embargo, todavía me gustaría saber si hay una manera de detener el tipo.

Gracias

Edit2, me gustaría señalar que voy a trabajar en una forma diferente de hacer esto, ya que siento que estoy abusando de los objetos con este método. Sin embargo, todavía me gustaría entender por qué Opera y Chrome sienten que tienen derecho a cambiar el orden de las ID de mis objetos:

El problema sería que intentara ahorrar potencia de procesamiento, digamos que tenemos personas con una identificación,

1.John, 2.Frank y 3.Sally. Sin embargo, cada una de estas personas tiene un conjunto de propiedades de alto nivel (y otras cosas). 1.John.180, 2.Frank.220, 3.Sally.150. Para ahorrar en el procesamiento, solicito que el resultado de las personas se ordene por su altura para obtener una matriz de 2, 1, 3 con sus otras propiedades. I JSON esta matriz y la envío al navegador.

Ahora FF mantendrá el nuevo orden. Las personas [1] seguirían siendo John, pero en un bucle For n as person estarán fuera de servicio.

Si no puedo evitar esto, simplemente no tendré que molestarme en ordenar en la etapa SQL y agregar bucles adicionales y ordenar en una matriz en la etapa JS, aunque quería evitar más estrés en el navegador, ya que ya es un Js pesado página.

Muchas gracias

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Tuve el mismo problema, seguí la solución de dmc pero solo agregué un espacio delante del valor int para convertirlo en una cadena.

La ventaja de usar un espacio en lugar de otro carácter no numérico es que el valor enviado posteriormente se puede usar directamente en una cláusula de búsqueda de mySQL sin tener que eliminarlo nuevamente.

over 4 years ago · Santiago Trujillo Relatório

0

Los diferentes navegadores manejan los objetos de diferentes maneras, mi culpa fue tratar de usar el orden en que construí un objeto como referencia donde no debería.

over 4 years ago · Santiago Trujillo Relatório

0

Cambiar entero a cadena no funcionó para mí (Chrome, jQuery 1.7.1). Entonces, para mantener el orden (sí, es abuso de objetos), cambié esto:

 optionValues0 = {"4321": "option 1", "1234": "option 2"};

a esto

 optionValues0 = {"1": {id: "4321", value: "option 1"}, "2": {id: "1234", value: "option 2"}};
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda