Ajax ... aucune donnée transmise.

Fermé
Nortuas - Modifié le 19 mars 2023 à 16:52
jordane45 Messages postés 38151 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 2 mai 2024 - 19 mars 2023 à 18:27

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 : 

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 :

print_r($_POST);

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

Array () 

Je ne reçois pas mon "ok"

Une idée ? 

Merci bien :-)

EDIT : Déplacement du sujet dans le bon forum

EDIT² : Ajout des balises de code

2 réponses

jordane45 Messages postés 38151 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 2 mai 2024 4 652
19 mars 2023 à 16:57

Bonjour,

Si tu ne nommes pas ta variable, normal que ça ne marche pas.

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);
  xhr.onreadystatechange = function() {//Call a function when the state changes.
    if(xhr.readyState == 4 && xhr.status == 200) {
        alert(xhr.responseText);
    }
  }
  xhr.send(params);
}

0

Merci pour la réponse.
Je vois bien dans la partie requête : données de formulaire avec mavariable = ok
Cependant je vois toujours un array vide en réponse... :(

0
jordane45 Messages postés 38151 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 2 mai 2024 4 652
19 mars 2023 à 18:25

Pourrais-tu nous mettre une capture d'écran de la console contenant l'appel Ajax ainsi que l'onglet requête est l'onglet réponse ?

Merci également de nous montrer le code complet de ta page script2.php.

Pense aussi à vérifier l'encodage de tes fichiers.

Voir chapitre 1 du lien suivant

https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8

0
jordane45 Messages postés 38151 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 2 mai 2024 4 652 > jordane45 Messages postés 38151 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 2 mai 2024
19 mars 2023 à 18:27

Tu peux aussi essayer de transmettre les données en Json.

Et sinon, si tu veux une méthode un peu plus récente, tu peux utiliser l'API fetch()

0