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, les données ne sont pas transmises


Sujet :

AJAX

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Ajax, les données ne sont pas transmises
    Bonjour à tous,

    Je n'arrive pas à transférer la donnée d'une variable de mon JS vers mon PHP, j'ai pourtant tout réduit à son maximum.

    Voici mon code JS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function addStats2() {
      var data = "ok";
      var xhr = new XMLHttpRequest();
      xhr.open("POST", "script2.php", true);
      xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xhr.send(data);
    }
    Mon PHP est tout simple ...
    J'affiche juste la variable POST via :

    Et pourtant, ce que je reçois sur mon navigateur c'est un array vide...

    Je ne reçois pas mon "ok"

    Une idée ?

    Merci bien :-)

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    Par défaut
    Salut

    pour passer une variable je procède de cette façon
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    			function showAjax() {
    				const xhttp = new XMLHttpRequest();
    				xhttp.onload = function() {
    					document.getElementById("rep").innerHTML = this.responseText;
    				}
    				ThenVarJvaScript = "A que coucou";
    				xhttp.open("POST", "VariableJSversPHP.php");
    				xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    				xhttp.send("TheVariable="+String(ThenVarJvaScript));
    			}//=============================================================================
    Mon fichier VariableJSversPHP.php de récupération
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    	if (isset($_REQUEST["TheVariable"])){
    		echo $_REQUEST["TheVariable"];
    	}else{
    		echo "TheVariable non trouver";
    	}
    ?>
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2013
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci pour la réponse..
    C'est étrange, j'ai copié/collé le même code que toi et il m'affiche "TheVariable non trouver"
    Je sèche... une idée ?

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 234
    Points : 15 531
    Points
    15 531
    Par défaut
    je pensais que le code de ProgElecT allait résoudre le souci puisqu'il a corrigé le souci de format d'envoi et en testant ce code, il fonctionne bien chez moi.

    essayez de faire un formulaire le plus simple possible en html pour tester si les données sont bien récupérées.

  5. #5
    Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mars 2023
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2023
    Messages : 31
    Points : 47
    Points
    47
    Par défaut
    Tu peux regarder dans les réseaux du navigateur, tu pourras voir qu'il pointe à la bonne adresse, et voir les variables passé

  6. #6
    Membre chevronné

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Points : 1 768
    Points
    1 768
    Billets dans le blog
    1
    Par défaut
    Comme montré il faut définir et affecter ta variable=valeur dans une chaine string.
    Soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function addStats2() {
      var data = "maVariable=ok";
      var xhr = new XMLHttpRequest();
      xhr.open("POST", "script2.php", true);
      xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xhr.send(data);
    }
    En PHP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // affichera l'ensemble des variables post sans distinction
    print_r($_POST);
    // affichera seulement ta variable défini dans ton JS
    print_r($_POST['maVariable']);
    // request te permet de catcher les tableaux $_POST et $_GET
    print_r($_REQUEST['maVarialbe']);
    Bon code

Discussions similaires

  1. Réponses: 23
    Dernier message: 10/11/2017, 22h53
  2. Réponses: 4
    Dernier message: 21/04/2014, 13h52
  3. Réponses: 3
    Dernier message: 12/03/2009, 15h11
  4. Réponses: 5
    Dernier message: 22/10/2008, 17h40
  5. Réponses: 6
    Dernier message: 15/08/2008, 12h09

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