jQuery Ajax : afficher du HTML ET récupérer une donnée en même temps ?
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 ! :koi:
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 :
Code:
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) ? |
2/ jQuery ajax
Code:
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
}
});
});
// ------------------------------------- |
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) ?"
Je ne sais pas si c'est possible, ni quelle pourrait être l'alternative... :calim2:
Merci.