En utilisant $('#form').serialize()
, j'ai pu envoyer ceci sur une page PHP. Maintenant, comment le désérialiser en PHP? Il a été sérialisé dans jQuery.
php
jquery
serialization
Gène Bean
la source
la source
Réponses:
Vous ne devriez pas avoir à désérialiser quoi que ce soit en PHP de la
serialize
méthode jquery . Si vous sérialisez les données, elles doivent être envoyées à PHP en tant que paramètres de requête si vous utilisez une requête ajax de la méthode GET ou post vars si vous utilisez une requête POST ajax. Donc en PHP, vous accéderiez à des valeurs comme$_POST["varname"]
ou$_GET["varname"]
fonction du type de requête.La
serialize
méthode prend simplement les éléments du formulaire et les met sous forme de chaîne."varname=val&var2=val2"
la source
serialize
retourne. Voir la réponse très populaire ci-dessous.À condition que votre serveur reçoive une chaîne qui ressemble à quelque chose comme ceci (ce qu'il devrait si vous utilisez jQuery
serialize()
):... quelque chose comme ça est probablement tout ce dont vous avez besoin:
$params
devrait alors être un tableau modélisé comme vous vous attendez. Notez que cela fonctionne également avec les tableaux HTML.Consultez les informations suivantes pour plus d'informations: http://www.php.net/manual/en/function.parse-str.php
J'espère que c'est utile. Bonne chance!
la source
// jQuery Post
// jquery.post sérialisé var - TO - Format PHP Array
// Vous obtenez la même chose
la source
la source
Dans la page HTML :
sur la page PHP :
sur ce code php, retournez le
f1
champ.la source
Pourquoi ne pas utiliser de tableau associatif pour pouvoir l'utiliser facilement
Cordialement
la source
$i = 0;
Réponse modifiée de Murtaza Hussain :
la source
Faites simplement ceci
la source
Je ne sais pas quelle version de Jquery vous utilisez, mais cela fonctionne pour moi dans jquery 1.3:
Ensuite, vous pouvez accéder aux clés du tableau POST comme vous le feriez normalement en php. Essayez simplement avec un
print_r()
.Je pense que vous encapsulez la valeur du formulaire sérialisé dans la propriété d'un objet, ce qui est inutile à ma connaissance.
J'espère que cela t'aides!
la source
Ceci est en réponse à user1256561. Merci pour votre idée. Cependant, je n'ai pas pris soin des trucs de décodage d'url mentionnés à l'étape 3.
voici donc le code php qui décodera les données du formulaire sérialisé, si quelqu'un d'autre en a besoin. À propos, utilisez ce code à votre propre discrétion.
L'entrée de données de publication d'url sera comme: attribut1 = valeur1 & attribut2 = valeur2 & attribut3 = valeur3 et ainsi de suite
La sortie du code ci-dessus sera toujours dans un tableau et vous pouvez le modifier pour l'attribuer à n'importe quelle variable de votre choix et cela dépend de la manière dont vous souhaitez utiliser davantage ces données.
la source
Vous avez juste besoin du nom d'attribut de valeur sous forme. Exemple :
Forme
Javascript
PHP - index.php
la source
Utilisation:
Php get array, pas besoin de se désérialiser;)
la source
Je pense que vous devez séparer les noms de formulaire de ses valeurs, une méthode pour ce faire est d'exploser
(&)
afin que vous obteniezattribute=value,attribute2=value
.Mon point ici est que vous allez convertir la chaîne jQuery sérialisée en tableaux en PHP.
Voici les étapes à suivre pour être plus précis.
jQuery
à unePHP
page (par exempleajax.php
) où vous utilisez$.ajax
pour soumettre en utilisant post ou get.(&)
attributs séparant ainsi chaque attribut. Vous obtiendrez maintenant attribut1 = valeur, attribut2 = valeur, vous obtiendrez maintenant une variable de tableau php. par exemple$data = array("attribute1=value","attribute2=value")
foreach
on$data
etexplode
le(=)
pour pouvoir séparer l'attribut de la valeur, et assurez-vous deurldecode
la valeur afin qu'elle convertisse les valeurs sérialisées en la valeur dont vous avez besoin, et insérez l'attribut et sa valeur dans une nouvelle variable de tableau, qui stocke l'attribut et la valeur de la chaîne sérialisée.Faites-moi savoir si vous avez besoin de plus de précisions.
la source
Vous pouvez utiliser cette fonction:
Comment l'utiliser
la source