A voir également:
- Probleme avec JRQUERY et AJAX
- Ajax googleapis - Forum Réseaux sociaux
- Curl ajax ✓ - Forum Javascript
- Ajax refresh div ✓ - Forum Javascript
- Passer variable javascript en php ajax - Forum PHP
- Erreur ajax ✓ - Forum Javascript
2 réponses
jordane45
Messages postés
38138
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
Modifié le 5 mai 2020 à 10:31
Modifié le 5 mai 2020 à 10:31
Désolé au sujet des balises mais ni le triangle noir ni le <> rouge ne me donne le choix du langage alors je fais avec ce que j'ai !
Alors dans ce cas (bien qu'étonnant.....) tu dois l'écrire toi même...
par exemple (sans les espaces avant code et apres js
< code js >
//ici du code Javascript
console.log("coucou");
</code>
Ce qui donnera
//ici du code Javascript console.log("coucou");
En ce qui concerne le debugage xhr je ne dois pas connaître toutes les subtilités je regarde simplement l'onglet debogueur dans firefox mais cela ne me donne rien ou je ne sais pas l'utiliser
Ca c'est sûr....
Il faut ouvrir la CONSOLE (javascript) du navigateur,
Cocher la case xhr si elle n'est pas déjà cochée,
Puis regarder, une fois que tu as appelé ton script ajax, ce qui s'y trouve
En ce qui concerne ton code :
Au niveau du Javascript, remplace le par:
$(function(){ console.log('La page est chargée....'); // si on clique sur un élève : $( ".eleve" ).click(function(){ var prenomclique = $(this).html(); var param = {PrenomEleve:prenomclique }; $.ajax({ // chargement du fichier externe monfichier-ajax.php url : "monfichiet-ajax.php", type : 'POST', data:param, dataType: "json", cache:false, error : function(request, error) { // Info Debuggage si erreur console.log("Erreur Ajax",request,error); alert("Erreur : responseText: "+request.responseText); }, success : function(reponse) { alert("success"); console.log('Reponse ajax',reponse); if(typeof(reponse.prenom)!='undefined' && reponse.prenom!=null){ // J'écris le résultat prénom de l'élève dans le h1 $(#prenom_eleve).html(reponse.prenom); }else{ alert('Erreur...' + reponse.error); } } }); }); };
et pour le script PHP ajax
<?php /** // fichier : monfichier-ajax.php */ // on force la réponse en JSON header('Content-type: application/json'); //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //récupération PROPRE des variables AVANT de les utiliser: $PrenomEleve = !empty($_POST['PrenomEleve']) ? $_POST['PrenomEleve'] : NULL; //Traitement if($PrenomEleve){ $result = array('prenom'=>$PrenomEleve); }else{ $result = array('error'=>'Aucun prénom envoyé en paramètres...'); } // on retourne les données: echo json_encode($result);
jordane45
Messages postés
38138
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
4 mai 2020 à 15:01
4 mai 2020 à 15:01
Déjà... Bonjour !
Ensuite, Je t'ai demandé à plusieurs reprises d'utiliser correctement les balises de code
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code ( il faut indiquer le LANGAGE dedans pour avoir la coloration syntaxique).
Ensuite, Si tu ne vois rien dans ton ajax.. c'est que tu as certainement une erreur qui s'affiche dans la console Javascript.
Je te recommande d'utiliser FireFox dont la lecture est plus simple pour ça.
Il faut, bien entendu, activer le debugage xhr
Et déplier les petites fleches devant les lignes pouvoir voir ce qui se passe
Ensuite, Je t'ai demandé à plusieurs reprises d'utiliser correctement les balises de code
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code ( il faut indiquer le LANGAGE dedans pour avoir la coloration syntaxique).
Ensuite, Si tu ne vois rien dans ton ajax.. c'est que tu as certainement une erreur qui s'affiche dans la console Javascript.
Je te recommande d'utiliser FireFox dont la lecture est plus simple pour ça.
Il faut, bien entendu, activer le debugage xhr
Et déplier les petites fleches devant les lignes pouvoir voir ce qui se passe
Bonjour
Désolé au sujet des balises mais ni le triangle noir ni le <> rouge ne me donne le choix du langage alors je fais avec ce que j'ai !
Enfin j'utilise bien firefox
Il n'y a strictement rien dans la console à part les messages consoles prévus dans le code
En ce qui concerne le debugage xhr je ne dois pas connaître toutes les subtilités je regarde simplement l'onglet debogueur dans firefox mais cela ne me donne rien ou je ne sais pas l'utiliser
Je suis surement simpliste mais je n'arrive pas à comprendre que je ne passe pas soit dans error soit dans success (à moins que mon code soit défectueux ?<souligne><souligne><souligne></souligne></souligne></souligne>
ci-dessous monfichier.js / monfichier.php / monfichier-ajax.php
monfichier.js=
console.log('fin ajax typfin:' + typfin);
});
monfichier.php =
et enfin monfichier-ajax.php
Désolé au sujet des balises mais ni le triangle noir ni le <> rouge ne me donne le choix du langage alors je fais avec ce que j'ai !
Enfin j'utilise bien firefox
Il n'y a strictement rien dans la console à part les messages consoles prévus dans le code
En ce qui concerne le debugage xhr je ne dois pas connaître toutes les subtilités je regarde simplement l'onglet debogueur dans firefox mais cela ne me donne rien ou je ne sais pas l'utiliser
Je suis surement simpliste mais je n'arrive pas à comprendre que je ne passe pas soit dans error soit dans success (à moins que mon code soit défectueux ?<souligne><souligne><souligne></souligne></souligne></souligne>
ci-dessous monfichier.js / monfichier.php / monfichier-ajax.php
monfichier.js=
$(function(){
console.log('deb ajax');
alert("on démarre 04");
typfin='?';
$( ".eleve" ).click(function(){
$.ajax({
// chargement du fichier externe monfichier-ajax.php
url : "monfichiet-ajax.php",
type : 'GET',
data:param,
dataType: "html",
cache:false,
error : function(request, error) { // Info Debuggage si erreur
alert("Erreur : responseText: "+request.responseText);
typfin='e';
},
// Passage des données au fichier externe (ici le nom cliqué)
success : function() {
typfin='s'; // Informe l'utilisateur que l'opération est terminé et renvoie le résultat
alert("success");
// J'écris le résultat prénom de l'élève dans le h1
//$(#prenom_eleve).html("jules");
}
});
});
console.log('fin ajax typfin:' + typfin);
});
monfichier.php =
<body>
<h1 id="prenom_eleve"> </h1>
<p class="eleve"> Elève DUPONT </p>
<p class="eleve"> Elève BARBIER </p>
<script src="jquery.js"></script>
<script src="monfichier.js"></script>
</body>
et enfin monfichier-ajax.php
<?php
// Accès à la base de données
$PrenomEleve="Jules";
// Ecriture de l'objet JSON contenant les infos qui vont être renvoyées
header('Content-type: application/json');
?>
{
"PrenomEleve": "<?php echo $PrenomEleve;?>" //Attention à ne pas mettre de virgule
}
<?php
exit(0);
4 mai 2020 à 20:36
je vais essayer tout cela sous peu mais sans doute pas dès demain
En tous cas je te tiendrai au courant
Patrick