Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

347
Vistas
¿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 tendré que no molestarme en clasificar en la etapa SQL y agregar bucles adicionales y clasificar en una matriz en la etapa JS, aunque quería evitar más estrés en el navegador, ya que es un Js pesado página.

Muchas gracias

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda