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
serialize
mé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
serialize
método solo toma los elementos del formulario y los pone en forma de cadena."varname=val&var2=val2"
fuente
serialize
devuelve. 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:
$params
entonces 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,
f1
campo 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.
jQuery
a unaPHP
página (por ejemploajax.php
) donde usa$.ajax
enviar 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")
foreach
sobre$data
yexplode
la(=)
manera que se puede separar el atributo del valor, y estar seguro de queurldecode
el 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