IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] AJAX sous chrome


Sujet :

AJAX

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2010
    Messages : 33
    Par défaut [AJAX] AJAX sous chrome
    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. 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

    Code : 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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    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
    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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    <?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
    Code : 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
     
    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;
    }

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    heu rassures moi , tu n'as pas les **************** dans ton code si ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2010
    Messages : 33
    Par défaut
    Non, non, ce sont des espaces.

    Une erreur lors du copier-coller, je ne sais pas d'où ça vient.

    Je vais essayer de modifier ça

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ca vient de certains navigateurs qui remplacent les espaces insécables ou les tabulations par ces * et c'est vrai que c'est un peu perturbant...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2010
    Messages : 33
    Par défaut Tests effectués, mais toujours rien
    Pour ceux qui voudraient tester par eux même, voici le lien: www.miriam-david.ch/web (vous pouvez essayer une inscription au hasard, je viderai la BDD par la suite).

    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à.

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    ajoutes un type="button" à ton BUTTON
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <button type="button" onclick="request(readData);" class="btn overlay pink rounded variant-font custom-primary">Enregistrer</button>
    comme il se trouve dans une FORM, dont on ne sait à quoi elle sert, il est de type submit donc soumet le formulaire.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2010
    Messages : 33
    Par défaut
    Salut NoSmocking,

    T'es vraiment trop fort, il suffisait d'enlever la balise FORM que je n'utilisais pas en effet.
    Maintenant ça marche sur Chrome.

    Merci, merci, merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WB19] Tableau AJAX Plante sous Chrome
    Par Programming-Z dans le forum WebDev
    Réponses: 1
    Dernier message: 16/01/2015, 14h10
  2. [AJAX] Ajax aspx sous chrome
    Par Alexis35 dans le forum AJAX
    Réponses: 0
    Dernier message: 03/02/2011, 10h06
  3. [AJAX] Ajax XML sous IE
    Par NathanD dans le forum AJAX
    Réponses: 5
    Dernier message: 20/01/2010, 22h27
  4. [AJAX] AJAX rafraichissement sous IE
    Par yodark dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 20/01/2008, 16h32
  5. [AJAX] Ajax marche sous IE mais pas sous Firefox
    Par snoopy92 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 10/05/2007, 18h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo