Utilizando $('#form').serialize(), pude enviar esto a una página PHP. Ahora, ¿cómo puedo deserializarlo en PHP? Fue serializado en jQuery.
php
jquery
serialization
Frijol genético
fuente
fuente

Respuestas:
No debería tener que anular la serialización de nada en PHP desde el
serializemétodo jquery . Si serializa los datos, debe enviarse a PHP como parámetros de consulta si está utilizando una solicitud ajax del método GET o publicar vars si está utilizando una solicitud ajax POST. Entonces, en PHP, accedería a valores como$_POST["varname"]o$_GET["varname"]dependiendo del tipo de solicitud.El
serializemétodo solo toma los elementos del formulario y los pone en forma de cadena."varname=val&var2=val2"fuente
serializedevuelve. Vea la respuesta realmente popular a continuación.Siempre que su servidor esté recibiendo una cadena que se parece a esto (que debería si está usando jQuery
serialize()):... algo como esto es probablemente todo lo que necesitas:
$paramsentonces debería ser una matriz modelada como cabría esperar. Tenga en cuenta que esto también funciona con matrices HTML.Consulte lo siguiente para obtener más información: http://www.php.net/manual/en/function.parse-str.php
Espero que sea útil. ¡Buena suerte!
fuente
// jQuery Post
// jquery.post serialized var - TO - PHP Array format
// Obtienes lo mismo de eso
fuente
fuente
En la página HTML :
en la página PHP :
en este código php,
f1campo de retorno .fuente
¿Por qué no usar una matriz asociativa, para que pueda usarla fácilmente?
Saludos
fuente
$i = 0;Respuesta de Murtaza Hussain modificada :
fuente
Simplemente haz esto
fuente
No sé qué versión de Jquery estás usando, pero esto funciona para mí en jquery 1.3:
Luego puede acceder a las teclas de matriz POST como lo haría normalmente en php. Solo intenta con un
print_r().Creo que está envolviendo el valor del formulario serializado en la propiedad de un objeto, lo que es inútil hasta donde yo sé.
¡Espero que esto ayude!
fuente
Esto es en respuesta al usuario 1256561. Gracias por su idea ... sin embargo, no me he ocupado de las cosas de decodificación de URL mencionadas en el paso 3.
así que aquí está el código php que decodificará los datos del formulario serializado, si alguien más lo necesita. Por cierto, use este código a su propia discreción.
La entrada de datos de publicación de URL será como: atributo1 = valor1 y atributo2 = valor2 y atributo3 = valor3 y así sucesivamente
La salida del código anterior seguirá estando en una matriz y puede modificarla para asignarla a cualquier variable que desee, y depende de cómo quiera usar más estos datos.
fuente
Solo necesita el nombre del atributo de valor en el formulario. Ejemplo:
Formar
Javascript
PHP - index.php
fuente
Utilizar:
Php get array, no necesita anular la serialización;)
fuente
Creo que necesita separar los nombres de los formularios de sus valores, un método para hacerlo es explotar
(&)para obtenerattribute=value,attribute2=value.Mi punto aquí es que convertirá la cadena jQuery serializada en matrices en PHP.
Estos son los pasos que debe seguir para ser más específico.
jQuerya unaPHPpágina (por ejemploajax.php) donde usa$.ajaxenviar usando post u get.(&)separación de cada atributo. Ahora obtendrá el atributo1 = valor, el atributo2 = valor, ahora obtendrá una variable de matriz php. p.ej$data = array("attribute1=value","attribute2=value")foreachsobre$datayexplodela(=)manera que se puede separar el atributo del valor, y estar seguro de queurldecodeel valor para que convertirá los valores serializados con el valor que se necesita, e insertar el atributo y su valor para una nueva variable de matriz, la cual almacena el atributo y el valor de la cadena serializada.Avísame si necesitas más aclaraciones.
fuente
Puedes usar esta función:
Cómo usarlo
fuente