Cadena de la matriz

  • ScottG
  • Proficient
  • Proficient
  • No Avatar
  • Registrado: Jul 06, 2010
  • Mensajes: 266
  • Status: Offline

Nota Marzo 5th, 2012, 10:03 am

Siempre he puesto aquí nunca es una cuestión simple, hoy necesito una hacer una cadena en una matriz. Parece bastante simple, pero aquí la diversión no parte uso de .split() como una solución por sí sola bastará (te explico a continuación) ni el uso de eval(). Aunque eval funciona muy bien por qué tengo que hacer necesito eliminar eval() de este proyecto. Una función que funciona como eval sería genial.

¿Por qué no puedo usar .split()

Estoy usando AJAX para devolver una cadena en forma de una matriz de JavaScript, normalmente sería utilizar dividida, pero hacen a la complejidad de lo que debe ocurrir solo utilizando .split() haría las cosas de una pesadilla.

JAVASCRIPT Código: [ Select ]
 
// PHP will return a string that most the time looks like this
new Array("Errors", "Info", "Info", new Array("info",  "info"));
 
// Also potentially return
new Array("Errors", "Info", "Info", new Array("info",  "info", new Array("info",  "info", new Array("info",  "info"))));
 
  1.  
  2. // PHP will return a string that most the time looks like this
  3. new Array("Errors", "Info", "Info", new Array("info",  "info"));
  4.  
  5. // Also potentially return
  6. new Array("Errors", "Info", "Info", new Array("info",  "info", new Array("info",  "info", new Array("info",  "info"))));
  7.  


Así como se puede ver allí son matrices multidimensionales que necesito para convertir de una cadena en una matriz. Como dije antes eval fue grande para el manejo de este sin embargo es un sospechoso en mi IE estrellarse la cuestión en la que todavía estoy tratando con.
Yo estoy todavía activamente buscando soluciones y publicaremos mis conclusiones y soluciones si me ha ocurrido venir a través de cualquiera.
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Marzo 5th, 2012, 10:03 am

  • ScottG
  • Proficient
  • Proficient
  • No Avatar
  • Registrado: Jul 06, 2010
  • Mensajes: 266
  • Status: Offline

Nota Marzo 6th, 2012, 10:23 am

Ok Im dando hasta, un poco, y decidió tener PHP escupen una matriz serializada y luego tener la equivalant de javascript para la función unserialize encontrado en para convertirla en una matriz.
  • Bigwebmaster
  • Site Admin
  • Site Admin
  • Avatar de Usuario
  • Registrado: Dic 20, 2002
  • Mensajes: 8925
  • Loc: Seattle, WA & Phoenix, AZ
  • Status: Offline

Nota Marzo 6th, 2012, 6:17 pm

Hola Scott,

Eso fue una cosa que me iba a recomendar, lo serializar o codificación en formato JSON si utiliza la biblioteca jQuery como yo. Cuando hago AJAX, normalmente tengo ningún script PHP devuelva los datos en un formato JSON haciendo esto en el extremo PHP:

PHP Código: [ Select ]
   header("Cache-Control: no-cache");  
   echo json_encode(array("string1", "string2", "string3"));
   exit;
  1.    header("Cache-Control: no-cache");  
  2.    echo json_encode(array("string1", "string2", "string3"));
  3.    exit;


Luego con jQuery sería simplemente descodificarlo así:

JAVASCRIPT Código: [ Select ]
$.ajax({
   type:"post"
   url: "test.php",
   async:true,
   dataType:"json",
   success: function(result){
      //result holds data sent from the php script already in an array that can be accessed result[0], result[1], etc
   }
});
  1. $.ajax({
  2.    type:"post"
  3.    url: "test.php",
  4.    async:true,
  5.    dataType:"json",
  6.    success: function(result){
  7.       //result holds data sent from the php script already in an array that can be accessed result[0], result[1], etc
  8.    }
  9. });


Me encanta jQuery y cuán simple facilita las cosas. Aunque tarda un poco para cargar la biblioteca, General que escribo mucho menos JavaScript que salvar a la cantidad de recursos que el cliente tiene que cargar, así como el tiempo de paso escribir código.
Ozzu Hosting - Want your website on a fast server like Ozzu?
  • ScottG
  • Proficient
  • Proficient
  • No Avatar
  • Registrado: Jul 06, 2010
  • Mensajes: 266
  • Status: Offline

Nota Marzo 7th, 2012, 9:24 am

He no salté hacia el barco jQuery todavía. principalmente porque el sitio Im actualmente reconstrucción se hizo con un jQuery base marco y fue una pesadilla absoluta para depurar. Comprendo jQuery y cuando tengo tiempo libre podrá invertir algún empate en trabajar con él. Al moverse a hacer el diseño de mi sitio Web (en lugar de otros pueblos) realmente iba a intentar meterse en jQuery con mi propio sitio.
  • Bigwebmaster
  • Site Admin
  • Site Admin
  • Avatar de Usuario
  • Registrado: Dic 20, 2002
  • Mensajes: 8925
  • Loc: Seattle, WA & Phoenix, AZ
  • Status: Offline

Nota Marzo 7th, 2012, 9:35 am

Sí que tiene sentido, recuerdo es el caso para mí cuando estaba trabajando en un sitio de cliente con el prototipo (otra biblioteca de Javascript). Era difícil en ese momento para depurar las cosas porque no escribo que el código no estaba seguro de cómo funcionaba todo.

Recomendar de probar jQuery con su propio sitio, una vez que está familiarizado con él encontrará su una poderosa biblioteca de ahorro de tiempo. El hecho también es compatible con numerosos exploradores le permite no tener que averiguar por qué las cosas funcionan en FF pero no IE bien. La mayoría de las tareas triviales ya está hecha para usted.
Ozzu Hosting - Want your website on a fast server like Ozzu?

Publicar Información

  • Total de mensajes en este tema: 5 mensajes
  • Usuarios navegando por este Foro: Kurthead+1 y 207 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC