Ajax et fonctions
Résolu/Fermé
ben85350
Messages postés
610
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
2 avril 2013
-
20 juil. 2010 à 10:11
ben85350 Messages postés 610 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 2 avril 2013 - 20 juil. 2010 à 12:24
ben85350 Messages postés 610 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 2 avril 2013 - 20 juil. 2010 à 12:24
A voir également:
- Ajax et fonctions
- Fonction si et - Guide
- Ces codes secrets vous donnent accès aux fonctions cachées de votre smartphone Android - Accueil - Android
- Codes secrets Android : accéder aux fonctions cachées - Guide
- Les fonctions excel en anglais - Guide
- Fonctions de base excel - Guide
6 réponses
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
20 juil. 2010 à 10:26
20 juil. 2010 à 10:26
Bonjour,
as tu compris le principe d'Ajax ?
Pour ton exemple le javascript appelle la page supprimerCommande.php,
avec la méthode POST (comme s'il s'agissait d'un formulaire) et lui passe en paramètre "commande" avec la valeur noCommande.
Pour voir ce qui se passe lorsque tu fais ton appel, je te conseille d'installer "FireBug" l'extension FireFox (et Chrome) pour débugger html et javascript.
le paramètre "success" est la fonction qui est appelé si l'appel ajax se fait correctement, donc si tu nous dis que la redirection se fait bien sur listeToutesCommandes.php, c'est que l'appel c'est bien passé.
En espérant que tu comprends mieux la mécanique ^^
Si tu as des questions n'hésite pas, mais encore une fois je te conseille d'installer FireBug.
as tu compris le principe d'Ajax ?
function supprimerCommande(noCommande) { $.ajax({ type:"POST", url:"_vue/commandes/supprimerCommande.php", data:{commande : noCommande}, success:function() { $("#toutesCommandes").load("_vue/commandes/listeToutesCommandes.php"); } }); }
Pour ton exemple le javascript appelle la page supprimerCommande.php,
avec la méthode POST (comme s'il s'agissait d'un formulaire) et lui passe en paramètre "commande" avec la valeur noCommande.
Pour voir ce qui se passe lorsque tu fais ton appel, je te conseille d'installer "FireBug" l'extension FireFox (et Chrome) pour débugger html et javascript.
le paramètre "success" est la fonction qui est appelé si l'appel ajax se fait correctement, donc si tu nous dis que la redirection se fait bien sur listeToutesCommandes.php, c'est que l'appel c'est bien passé.
En espérant que tu comprends mieux la mécanique ^^
Si tu as des questions n'hésite pas, mais encore une fois je te conseille d'installer FireBug.
ben85350
Messages postés
610
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
2 avril 2013
27
20 juil. 2010 à 10:44
20 juil. 2010 à 10:44
Merci pour cette réponse rapide. Oui FireBug est déjà installé depuis un petit moment. En effet, la redirection se fait bien sur listeToutesCommandes.php mais pour voir si tout se passais bien, j'ai fait un alert() dans supprimerCommande.php, mais je n'ai aucun retour, de plus cette page supprimer la commande voulu de la base, et après utilisation, rien ne se passe.
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
20 juil. 2010 à 10:59
20 juil. 2010 à 10:59
Le javascript dans ta page php-ajax, ne sera pas appelé, c'est pour ça que tu ne le vois pas.
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
20 juil. 2010 à 10:54
20 juil. 2010 à 10:54
Il me semble que tu utilises Jquery pour ton Ajax, dans ce cas modifie ta fonction onsucces pour y ajouter un alert de ce que tu recois de ta page php :
JAVASCRIPT :
PAGE AJAX (supprimerCommande.php)
Tu devrais avoir un alert avec "Hello world" quand tu cliques sur ton bouton.
(Sous firebug regarde les pages appelées dans l'onglet console).
JAVASCRIPT :
function supprimerCommande(noCommande) { $.ajax({ type:"POST", url:"_vue/commandes/supprimerCommande.php", data:{commande : noCommande}, success:function(data) { alert('resultat : "'+data+'"'); //$("#toutesCommandes").load("_vue/commandes/listeToutesCommandes.php"); } }); }
PAGE AJAX (supprimerCommande.php)
<?php echo "Hello world !"; ?>
Tu devrais avoir un alert avec "Hello world" quand tu cliques sur ton bouton.
(Sous firebug regarde les pages appelées dans l'onglet console).
ben85350
Messages postés
610
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
2 avril 2013
27
20 juil. 2010 à 11:11
20 juil. 2010 à 11:11
alors, j'ai essayé ce que tu m'as dit et :
- je n'ai pas de alert avec "Hello world"
- en fait la redirection ne fonctionnais pas, en changeant listeToutesCommandes.php en listeToutes.php par exemple, rien ne change.
pas contre si je fait
j'ai bien le alert "test" Je ne comprends pas... ça viens alors du data ?
- je n'ai pas de alert avec "Hello world"
- en fait la redirection ne fonctionnais pas, en changeant listeToutesCommandes.php en listeToutes.php par exemple, rien ne change.
pas contre si je fait
function supprimerCommande(noCommande) { $.ajax({ type:"POST", url:"_vue/commandes/supprimerCommande.php", data:{commande : noCommande}, success:function(data) { alert('test '); //$("#toutesCommandes").load("_vue/commandes/listeToutesCommandes.php"); } }); }
j'ai bien le alert "test" Je ne comprends pas... ça viens alors du data ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
20 juil. 2010 à 11:17
20 juil. 2010 à 11:17
En fait "data" correspond à ce que va renvoyer la page php-ajax.
Si tu fais alert('test'), c'est normal que ça l'affiche puisque 'test' est une chaine en dur.
Que la redirection ne marche plus c'est normal aussi car "//" veut dire que la ligne est commenté (du coup forcément c'est pas interprété ^^).
Si data, marche pas c'est que tu es pas sur JQuery :p, ou alors que ta page php-ajax ne renvoit rien.
As-tu regardé dans l'onglet console de FireBug ce qui se passe quand tu cliques sur ton bouton ?
Si tu fais alert('test'), c'est normal que ça l'affiche puisque 'test' est une chaine en dur.
Que la redirection ne marche plus c'est normal aussi car "//" veut dire que la ligne est commenté (du coup forcément c'est pas interprété ^^).
Si data, marche pas c'est que tu es pas sur JQuery :p, ou alors que ta page php-ajax ne renvoit rien.
As-tu regardé dans l'onglet console de FireBug ce qui se passe quand tu cliques sur ton bouton ?
ben85350
Messages postés
610
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
2 avril 2013
27
20 juil. 2010 à 11:31
20 juil. 2010 à 11:31
Voila ce que me dit la console :
Dans l'onglet réponse j'ai bien "Hello world !"
mais j'ai l'erreur suivante après :
Que la redirection ne marche plus c'est normal aussi car "//" veut dire que la ligne est commenté (du coup forcément c'est pas interprété ^^).
Elle ne marchais pas avant non plus en fait, je pensais que ca fonctionnais mais non.
POST ..../_vue/commandes/supprimerCommande.php 200 OK 84ms
Dans l'onglet réponse j'ai bien "Hello world !"
mais j'ai l'erreur suivante après :
data is not defined alert('resultat : "'+data+'"');
Que la redirection ne marche plus c'est normal aussi car "//" veut dire que la ligne est commenté (du coup forcément c'est pas interprété ^^).
Elle ne marchais pas avant non plus en fait, je pensais que ca fonctionnais mais non.
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
20 juil. 2010 à 11:38
20 juil. 2010 à 11:38
Qu'utilises-tu pour tes appels Ajax ? (JQuery, Prototype, ... ?)
ben85350
Messages postés
610
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
2 avril 2013
27
20 juil. 2010 à 11:43
20 juil. 2010 à 11:43
J'ai ceci dans mon fichier index, je pense que c'est ça ce que tu me demande :
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> // fichier contenant mes différentes fonctions <script type="text/javascript" src="_vue/js/function.js"></script> <script type="text/javascript" src="_vue/js/ajaxupload.js"></script>
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
20 juil. 2010 à 11:52
20 juil. 2010 à 11:52
Tu as des exemples d'utilisation ici :
https://api.jquery.com/jQuery.ajax/
Mais je trouve ça étrange que "data" ne soit pas reconnue...
La syntaxe parait OK...
https://api.jquery.com/jQuery.ajax/
Mais je trouve ça étrange que "data" ne soit pas reconnue...
La syntaxe parait OK...
ben85350
Messages postés
610
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
2 avril 2013
27
20 juil. 2010 à 11:59
20 juil. 2010 à 11:59
OK, et quelle est la différence entre
Merci pour ton aide !
data:({commande : noCommande})et
data:{commande : noCommande}
Merci pour ton aide !
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
20 juil. 2010 à 12:05
20 juil. 2010 à 12:05
Franchement je ne saurais te dire exactement pour ils mettent les parenthèse dans l'exemple...
Mais apparemment l'erreur ne vient pas de la puisque tu me dis que sur firebug tu vois bien l'appel Ajax, c'est juste la récupération de la réponse qui ne marche pas ici... enfin, je crois :p
Mais apparemment l'erreur ne vient pas de la puisque tu me dis que sur firebug tu vois bien l'appel Ajax, c'est juste la récupération de la réponse qui ne marche pas ici... enfin, je crois :p