Bonjour,

Je teste une fonction afin de l'incorporer sur un api téléphonique web.

Le but de mon exercice :

Envoyer des données JS vers php afin qu'il envoie une requete dans une bdd.

Pour l'instant je fais au plus simple la page php contient seulement ma requete entièrement renseigné la main pour la bdd.

Voici le script 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
<script>
 var xhr_object = new XMLHttpRequest(); 
	xhr_object.open("POST", "rq_bdd_php", true); 
 
xhr_object.addEventListener('readystatechange', function() { // On gère ici une requête asynchrone
 
    if (xhr_object.readyState === XMLHttpRequest.DONE && xhr_object.status === 200) { // Si le fichier est chargé sans erreur
 
        document.getElementById('fileContent').innerHTML = '<span>' + xhr_object.responseText + '</span>'; // On l'affiche !
 
    } else if (xhr_object.readyState === XMLHttpRequest.DONE && xhr_object.status != 200) { // En cas d'erreur !
 
        alert('Une erreur est survenue !\n\nCode :' + xhr_object.status + '\nTexte : ' + xhr_object.statusText);
 
    }
 
});
	xhr_object.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xhr_object.send(null); 
 
</script>
Le code dans php :

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<?php
 
include("BD.class.php");
$bd=BD::getInstance();
 
	$query = $bd->execRequete("update bdd.famille set libelle = 'Sole' where idfamille ='4'");
 
?>


L'erreur capturée me renvoie :
Code : 404
text : not found
Si je comprend bien, ma page php ne se charge pas, je ne comprends pas pourquoi.

Si j'attaque ma page manuellement (site\rq_bdd.php)

ma bdd se met bien à jour.


J'ai testé ce code js juste avant pour découvrir le XMLHttpRequest :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<script>
var xhr_object = new XMLHttpRequest(); 
	xhr_object.open("GET", location.href, false); 
	xhr_object.send(null); 
 
	if (xhr_object.readyState == 4) alert("Requête effectuée !");
</script>
Et cela fonctionne, ce qui me laisse croire que l'objet XMLHttpRequest() en lui même fonctionne.

J'ai cherché des réponses en suivant des explications sur XMLHttpRequest, mais je ne comprend pas mon problème...

Pour info je travaille sur serveur php5.