Post Jquery fonction de retour avec 2 paramètres

Résolu/Fermé
bbaasstt Messages postés 190 Date d'inscription mercredi 1 avril 2009 Statut Membre Dernière intervention 16 décembre 2016 - 10 mars 2015 à 19:08
bbaasstt Messages postés 190 Date d'inscription mercredi 1 avril 2009 Statut Membre Dernière intervention 16 décembre 2016 - 11 mars 2015 à 17:01
Bonjour,

voila j'utilise Jquery pour envoyé des donnés en POST à un fichier php qui va enregistrer dans une variable 'html' des données, mais j'ai besoin d'une seconde variable car mon fichier php va récupérer 2 informations différentes du coup je me suis dit, j'enregistre comme pour la 1er variable ce que je veut dans ma 2nd variable et je fait un echo $variable2 à la fin de mon fichier php.

Logiquement niveau js:
$.post("assets/php/vignette.php",  {
            artistName_search : artistName_search,
            title_search : title_search,
            type_search : type_search,
            label_search : label_search,
            genre_search : genre_search,
            link_search : link_search
 
 
            }, function(html, html2){
              //on retourne le résultat dans le div find
             $('#find').html(html);
             $('#popup-body').html(html2);
              });

le problème c'est que la variable 'html2' au lieu de me retourner ce que j'aurais stocker à l'intérieur dans mon fichier php, me retourne à chaque fois le message 'succes', je comprend pas pourquoi et je sais pas comment contourné ça.

C'est pourquoi j'ai besoin de vous :) merci d'avance pour vos réponses !



A voir également:

1 réponse

codeurh24 Messages postés 761 Date d'inscription samedi 29 mars 2014 Statut Membre Dernière intervention 8 septembre 2018 123
Modifié par codeurh24 le 11/03/2015 à 00:46
Bonsoir.

Si tu veux récupérer plusieurs valeurs par plusieurs variables de retour il te faut le faire par un retour en json.

Par defaut si tu ne le précise pas c'est un affichage de cette page que tu récupére, donc du html.

ta fonction devrai être comme ça:
$.post( "assets/php/vignette.php", { 
artistName_search : "A",
title_search : "B",
type_search : "C",
label_search : "D",
genre_search : "E",
link_search : "F" },

function( data ) {
$('#find').html(data.variable1);
$('#popup-body').html(data.variable2);
}
, "json");


et dans ton php il ne doit rien avoir affiché sauf a la fin le json encode qui demande un tableau

 $arr = array();
$arr['variable1'] = '<div>ma div 1</div>';
$arr['variable2'] = '<div>ma div 2</div>';
echo json_encode($arr);


Si ton code te retournai success c'est normale:
https://api.jquery.com/jQuery.ajax/
jqXHR.done(function( data, textStatus, jqXHR ) {});
An alternative construct to the success callback option, the .done() method replaces the deprecated jqXHR.success() method. Refer to deferred.done() for implementation details.


https://api.jquery.com/jQuery.post/
https://www.php.net/manual/fr/function.json-encode.php
3
bbaasstt Messages postés 190 Date d'inscription mercredi 1 avril 2009 Statut Membre Dernière intervention 16 décembre 2016 17
11 mars 2015 à 17:01
Ça marche, merci !!
0