Ajax
oumaymakouraichi
Messages postés
6
Statut
Membre
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
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
Code de AJAX1.php
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
.
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
Bonjour,
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 :
Et dans ton code PHP ... ne pas oublier d'encoder en JSON...
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);
?>