AJAX sous chrome
Résolu
csi_bern
Messages postés
64
Date d'inscription
Statut
Membre
Dernière intervention
-
csi_bern Messages postés 64 Date d'inscription Statut Membre Dernière intervention -
csi_bern Messages postés 64 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai bien fait une recherche sur internet sous le même titre que celui ci-dessus, mais je n'ai trouvé que des vieux sujets qui n'ont pas résolu mon problème.
J'ai réalisé une requête AJAX en pompant sur un tutoriel mis en ligne sur le site openclassrooms (vraiment bien fait le tuto). J'ai donc réussi à mettre en place cette action et l'ayant testée sur FF, IE 9 et 12, je peux vous dire que ça marche du tonnerre et j'utiliserai très régulièrement l'AJAX dorénavant. Mon problème est que Google Chrome ne reconnait pas du tout cette requête, ou plutôt, je ne sais pas trop ce qu'il fait, car ça tourne, ça occulte un moment le div "contentForm" puis ça recharge la page. Aucune erreur ne m'est retournée (bon, elle doit certainement avoir lieu dans le fichier "traitRsvp.php").
Est-ce quelqu'un verrait l'erreur dans mes script ? Je suis quand même allusiné de voir quelque chose fonctionner sous IE et pas Chrome!!!
Merci d'avance
Fichier oXHRS.js
Et fichier oXHRS.js
J'ai bien fait une recherche sur internet sous le même titre que celui ci-dessus, mais je n'ai trouvé que des vieux sujets qui n'ont pas résolu mon problème.
J'ai réalisé une requête AJAX en pompant sur un tutoriel mis en ligne sur le site openclassrooms (vraiment bien fait le tuto). J'ai donc réussi à mettre en place cette action et l'ayant testée sur FF, IE 9 et 12, je peux vous dire que ça marche du tonnerre et j'utiliserai très régulièrement l'AJAX dorénavant. Mon problème est que Google Chrome ne reconnait pas du tout cette requête, ou plutôt, je ne sais pas trop ce qu'il fait, car ça tourne, ça occulte un moment le div "contentForm" puis ça recharge la page. Aucune erreur ne m'est retournée (bon, elle doit certainement avoir lieu dans le fichier "traitRsvp.php").
Est-ce quelqu'un verrait l'erreur dans mes script ? Je suis quand même allusiné de voir quelque chose fonctionner sous IE et pas Chrome!!!
Merci d'avance
var xhr = null; function request(callback) { if (result != document.getElementById("captcha-input").value) { alert("<?php echo $trad_mauvais_control; ?>"); return; } var id = encodeURIComponent(document.getElementById("nomID").value); if (id == -1) { alert("<?php echo $trad_oubli_nom; ?>"); return; } function test(champ) { return (document.getElementById(champ).value == "") ? 0 : encodeURIComponent(document.getElementById(champ).value); } var aperoAdult = test("aperoAdult"); var aperoEnfant = test("aperoEnfant"); var souperAdult = test("souperAdult"); var souperEnfant = test("souperEnfant"); var lang = "<?php echo $lang; ?>"; if (xhr && xhr.readyState != 0) { // Si il y a déjà une requête en cours xhr.abort(); // On annule la nouvelle requête ! } xhr = getXMLHttpRequest(); document.getElementById("contentForm").innerHTML = '<center><img src="images/loader.gif" alt="loading" /></center>'; xhr.onreadystatechange = function() { if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) { callback(xhr.responseText); } else if (xhr.readyState < 4) { // En cours de chargement } }; xhr.open("GET", "images/traitRsvp.php?id=" + id + "&aperoAdult=" + aperoAdult + "&aperoEnfant=" + aperoEnfant + "&souperAdult=" + souperAdult + "&souperEnfant=" + souperEnfant + "&lang=" + lang, true); xhr.send(null); } function readData(sData) { document.getElementById("contentForm").innerHTML = sData; }
Fichier oXHRS.js
<?php $bdi = mysqli_connect('localhost', 'root', 'dadou130','mariage'); $lang = (isset($_GET["lang"])) ? $_GET["lang"] : 'fr'; include "../images/lang.php"; header("Content-Type: text/plain"); $id = (isset($_GET["id"])) ? $_GET["id"] : NULL; $aperoAdult = (isset($_GET["aperoAdult"])) ? $_GET["aperoAdult"] : 0; $aperoEnfant = (isset($_GET["aperoEnfant"])) ? $_GET["aperoEnfant"] : 0; $souperAdult = (isset($_GET["souperAdult"])) ? $_GET["souperAdult"] : 0; $souperEnfant = (isset($_GET["souperEnfant"])) ? $_GET["souperEnfant"] : 0; $requete ="UPDATE personne SET aperoAdult=".$aperoAdult.", aperoEnfant=".$aperoEnfant.", souperAdult=".$souperAdult.", souperEnfant=".$souperEnfant." WHERE id=".$id; $retourBDD = mysqli_query($bdi, "SELECT prenom FROM personne WHERE id=".$id); $ligne = mysqli_fetch_array($retourBDD); if (mysqli_query($bdi, $requete)) { echo '<h3>Merci '.$ligne[0].', '.$trad_sql_ok.'</h3>'; } else { echo '<h3>'.$trad_erreur_sql.'</h3>.'; } ?>
Et fichier oXHRS.js
function getXMLHttpRequest() { var xhr = null; if (window.XMLHttpRequest || window.ActiveXObject) { if (window.ActiveXObject) { try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { xhr = new XMLHttpRequest(); } } else { alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest..."); return null; } return xhr; }
A voir également:
- Ajax chrome
- Mise a jour chrome - Accueil - Applications & Logiciels
- Google chrome - Télécharger - Navigateurs
- Exporter favoris chrome - Guide
- Changer dns chrome - Guide
- Rouvrir onglet fermé chrome - Guide
2 réponses
Pour ceux qui voudraient tester par eux même, voici le lien: www.miriam-david.ch/web
Pour l'instant, j'ai maintenant également testé la page traitRsvp.php sur Chrome (en donnant un ID existant), elle marche.
J'ai également controlé le lien envoyé par la requête via une alerte et ça me donne ça: images/traitRsvp.php?id=13&aperoAdult=14&aperoEnfant=16&souperAdult=18&souperEnfant=20&lang=fr
Donc pas de soucis
N'y aurait-il personne ayant une idée supplémentaire, je colle là.
Pour l'instant, j'ai maintenant également testé la page traitRsvp.php sur Chrome (en donnant un ID existant), elle marche.
J'ai également controlé le lien envoyé par la requête via une alerte et ça me donne ça: images/traitRsvp.php?id=13&aperoAdult=14&aperoEnfant=16&souperAdult=18&souperEnfant=20&lang=fr
Donc pas de soucis
N'y aurait-il personne ayant une idée supplémentaire, je colle là.