golumest | Bonjour,
J'ai un soucis avec un bout de code AJAX :
j'ai besoin à chaque click d'un utilisateur de le tracer, donc j'ai fait une petite fonction ajax qui appelle un php qui se charge d'inserer en bdd les stats
Le js :
Code :
- function add_stat(borne, table, ID, nom, id_parent) {
- var xhr = XMLHttpRequest();
- xhr.onreadystatechange = function() {
- if ((xhr.readyState == 4 )&& (xhr.status == 200 || xhr.status == 0)) {
- alert(xhr.responseText);
- };
- };
-
- xhr.open("GET", "include/addstats.php?borne="+borne+"&table="+table+"&ID="+ID+"&nom="+nom+"&ID_parent="+id_parent, true);
- xhr.send(null);
- }
|
le php (je pense pas que se soit utile)
Code :
- <?php
- header("Content-Type: text/plain" );
- require_once ('../lib/BDD_fonctions.php') ;
- $bdd = BDD_connect() ;
- // Test de la validité des informations
- if (isset($_GET['table']) and ($_GET['table'] == "details" or $_GET['table'] == "pages" ) and isset($_GET['ID']) and $_GET['ID'] != "" ) {
- if ($_GET['table'] == "details" ) {
- $bdd->query('INSERT INTO `stat_details` (`ID_details`, `borne`) VALUES ( \''.$_GET['ID'].'\', \''.$_GET['borne'].'\')') ;
- echo 'details : INSERT INTO `stat_details` (`ID_details`, `borne`) VALUES ( \''.$_GET['ID'].'\', \''.$_GET['borne'].'\')';
- } else if ($_GET['table'] == "pages" ) {
- $bdd->query('INSERT INTO `stat_pages` (`ID_element`, `nom_element`, `ID_parent`,`borne`) VALUES ( \''.$_GET['ID'].'\', \''.$_GET['nom'].'\', \''.$_GET['ID_parent'].'\', \''.$_GET['borne'].'\' )') ;
- echo 'pages :INSERT INTO `stat_pages` (`ID_element`, `nom_element`, `ID_parent`,`borne`) VALUES ( \''.$_GET['ID'].'\', \''.$_GET['nom'].'\', \''.$_GET['ID_parent'].'\', \''.$_GET['borne'].'\' )';
- }
- }
- ?>
|
le code ci dessous ne fonctionne pas : il n'y a pas d'insertion en bdd
par contre si j'affiche le resultat du onreadystatechange avec un else alert(xhr.readyState) en ligne 7 du js, je visualise bien tous les états y compris les echos du php, et, dans ce cas l'insertion en bdd est effective.
Je ne comprends pas pourquoi si je ne mets pas cette ligne il ne lis jamais l'état 4 de la réponse?!
help!
merci! Message édité par golumest le 15-04-2013 à 17:14:39
|