Bonjour,
J'utilise Ajax avec jQuery.
Je sais :
- afficher du code HTML (dataType: 'html')
- OU récupérer des données json (dataType: 'json')
- MAIS PAS les deux à la fois !
Je souhaite, via Ajax :
- traiter une formulaire -> OK
- afficher les résultats HTML -> OK
- récupérer une données (booléen) pour effectuer une autre action -> ??
Voici un petit exemple (simplifié) :
1/ fichier traitement-ajax.php :
2/ jQuery ajax
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php $variable = $_POST['variable']; // ICI : traitement PHP + un tas d'autres trucs... qu'on ne peut pas mettre dans une simple variable PHP if( $variable == 'blabla' ) { echo '<b>Un éléphant rose</b>'; // affichage de code HTML + un tas d'autres trucs... qu'on ne peut pas mettre dans une simple variable PHP $test = false; // booléen } else { echo '<b>Une panthère noire</b>'; // affichage de code HTML + un tas d'autres trucs... qu'on ne peut pas mettre dans une simple variable PHP $test = true; // booléen } // QUESTION : comment récupérer $test pour le traiter en jQuery (et exécuter une autre action) ?
La question est notée dans le code : "comment récupérer $test (PHP) pour le traiter en jQuery (et exécuter une autre action) ?"
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 // ------------------------------------- // TRAITER via Ajax $('#bouton_Valider').on( 'click', function(event){ var variable = $('#variable').val(); // on récupère la valeur // ----------------- var texthtml = ''; $.ajax({ type: 'post', url: 'traitement-ajax.php', data: 'variable='+variable, // on transmet la valeur dataType: 'html', // ICI, en HTML cache: false, success: function( texthtml ){ // ----------------- $('#box_Reaffichage_Resultat').html(texthtml); // on affiche le résultat dans une div // ----------------- // ICI, je voudrais pouvoir récupérer le contenu de la donnée PHP $test // Comment faire ?? var retour_test = ??????????; if( retour_test ){ alert('OK : on peut lancer une autre action'); } else { alert('NON'); } // ----------------- return false; // arrêt de la propagation de l'évènement dans le DOM } }); }); // -------------------------------------
Je ne sais pas si c'est possible, ni quelle pourrait être l'alternative...
Merci.
Partager