Ajax

Fermé
oumaymakouraichi Messages postés 6 Date d'inscription mardi 10 février 2015 Statut Membre Dernière intervention 19 mars 2015 - Modifié par jordane45 le 10/02/2015 à 13:22
jordane45 Messages postés 38359 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 décembre 2024 - 10 févr. 2015 à 13:49
Bonjour,Bon voilà mon je suis débutante dans la programmation web et le prof nous a demande de créer une base de donnes set de récupérer les donnes en utilisant AJAX j'ai essayer mais en vain vous pouvez m'aider s'il vous plait:


Code de AJAX1b.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" [http://www.w3.org/TR/html4/loose.dtd]">
<!-- AJAX1b.html -->
<html dir="ltr" lang="fr">
  <head>
    <title>lecture des data</title>
 <script type="text/javascript" src="jquery-1.8.3/jquery-1.8.3.js"></script>

 <script type="text/javascript">
 var compteur2;    // variable créer pour recevoir la valeur du compteur au retour du script PHP
 
 function passe_ajax(){ 
  $.ajax({
   type: "POST",  // méthode utilisée
   url: "AJAX1.php", //URL du script PHP - serveur
   data: {  // liste des paramètres au format JSON
    compteur : document.getElementById("compteur").value,
    test : 0 //ne sert à rien, sauf montrer comment passer 2 param
   }, 
   success: function(msg){
    eval(msg); // évaluation du code JS renvoyé par script PHP
    document.getElementById("compteur2").value  = compteur2;
   },
   error: function(jqXHR, textStatus, errorThrown) {
    alert("error system : "+errorThrown);  //  erreur  produite lors de la requete HTTP
   }
  });
 }
 </script>
  </head>
  <body>
    <p align="center">Passage de valeur de compteur à compteur2 par process AJAX </p>
    <p align="center">Formation INSA promo 2013-2014</p>
    
 Compteur = <input value="5" id="compteur"  type="text" size="3"> 
 Compteur2 = <input value="" id="compteur2"  type="text" size="3" readonly> 
 <input value="Passe" name="button" type="button" onClick="passe_ajax();">
  </body>
</html>



Code de AJAX1.php
<?php   /**** test d'appel de script PHP via une commande AJAX  depuis AJAX1.html ***/

 /**  * La fonction redirectionErreur) renvoit une véritable erreur de requete HTTP   */
 function redirectionErreur() { 
    header("HTTP/1.0 409 Erreur de paramètre"); // génère 1 erreur HTTP
    exit();      // quitte le script
 }
 /* test de la présence d'un parametre passé par POST et récupère la chaine 
 compteur si elle existe */
 if(isset($_POST['compteur']) )  $compteur  = $_POST['compteur'];
 else        redirectionErreur();

/* test si la chaine de caractère est représente un entier. Si oui on transmet sinon on renvoie le string 'false' au js*/

 if (ctype_digit($compteur))  echo "compteur2=$compteur";  //envoie la ligne de code js
 else    echo "compteur2='false';"; 
?>



EDIT : AJOUT DES BALISES DE CODE...
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

.

2 réponses

jordane45 Messages postés 38359 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 décembre 2024 4 720
10 févr. 2015 à 13:36
Bonjour,

j'ai essayer mais en vain vous pouvez m'aider s'il vous plait:

Ok.. mais qu'est ce que tu obtiens ?
Tu as un message d'erreur ?? lequel ?

Penses aussi à utiliser les outils de debogage fournis par ton navigateur ( perso j'utilise et recommande le plugin FIREBUG pour FireFox...)


Pour ta fonction javascript...
essayes ceci :
function passe_ajax(){ 

var compteur = document.getElementById("compteur").value;
var  test = 0 ; //ne sert à rien, sauf montrer comment passer 2 param
var compteur2="";

if(compteur){
$.ajax({ 
       type: "POST",
           url:urlAjx,
           data: "compteur=" + compteur
                  +"&test="+test                
                   ,
           async: false,
           dataType: "json",
           success: function(reponse){
             alert(reponse);
             compteur2 = reponse.compteur2;
             document.getElementById("compteur2").value = compteur2;
           },
           error: function(jqXHR, textStatus, errorThrown) {
              //  erreur  produite lors de la requete HTTP
             alert("error : "+errorThrown); 
            }
  });
}else{
 alert(" La variable COMPTEUR est vide ! " + compteur );
}
}


Et dans ton code PHP ... ne pas oublier d'encoder en JSON...

<?php   
//------------------------------------------------------------------------------------------//
 /**** test d'appel de script PHP via une commande AJAX  depuis AJAX1.html ***/
//------------------------------------------------------------------------------------------//
 /**  * La fonction redirectionErreur) renvoit une véritable erreur de requete HTTP   */
 function redirectionErreur() { 
    header("HTTP/1.0 409 Erreur de paramètre"); // génère 1 erreur HTTP
    exit();      // quitte le script
 }
 
 $result = array();
 $compteur  = isset($_POST['compteur'])?$_POST['compteur']:NULL;
 
if($compteur){
 $compteur2 = ctype_digit($compteur);
 $result['compteur2'] = $compteur2;

}else{
  redirectionErreur();
}

// On transforme le résultat en JSON
echo json_encode($result);
?>


0
oumaymakouraichi Messages postés 6 Date d'inscription mardi 10 février 2015 Statut Membre Dernière intervention 19 mars 2015
10 févr. 2015 à 13:43
merci j'ai résolu mon problème
0
jordane45 Messages postés 38359 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 décembre 2024 4 720
10 févr. 2015 à 13:49
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane
0