Comment fonctionne l'AJAX

Fermé
sou - 21 nov. 2013 à 16:51
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 - 25 nov. 2013 à 15:14
Bonjour,

Petite Question,

Je souhaiterais savoir comment marche la méthode POST pour $.ajax,
exemple : $.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});


Comment cela puisse faire le lien avec mon fichier "bdd.php" ou là il y a toutes mes requêtes .
A quel moment l'ajax "comprend" qu'il faille allez dans le fichier bdd.php avec la data "name=john&location=Boston" ?
C'est encore un peu flou pour moi ... je vois pas comment le JS lance les requêtes php .

Une explication ça serait sympa :)

2 réponses

gardiendelanuit Messages postés 1769 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
21 nov. 2013 à 19:24
Bonsoir,

L'ajax est enfaîte un moyen désynchronisé de contacter une ressource sur le serveur. En utilisant $.ajax (ou XMLHttpRequest), tu demandes au navigateur via javascript de faire une connexion et d'en récupérer le retour.
0
Merci pour ta réponse,

Mais comment le contacte t-il, réutilise t'il mon instance "new pdo" pour avoir acces à ma requete ? ou autre ? c'est ça qui me déboussole .
0
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
22 nov. 2013 à 16:46
Bonjour,

L'Ajax est un système fait par le Javascript permettant d'appeler une ressource externe (ou interne dans certains cas ).

En gros, c'est ton navigateur qui dit, dans ton cas, à ton serveur PHP d'appeler/exécuter un script PHP, et ce de manière asynchrone ( = sans rechargement de la page ).

Ici, la syntaxe que tu nous donnes est celle de la library jQuery. Il est également possible de faire cela sans jQuery => Utiliser jQuery juste pour faire des requête AJAX est stupide car c'est une lib assez lourde.
Quoi qu'il en soit, tu appelles la page nommé "some.php" ( donc côté serveur ) via la méthode POST et en passant les paramètre suivant "name=John&location=Boston".
C'est cette page PHP qui doit le reste du boulot :

- Faire des vérification sur la réception de paramètres
- Récupérer et interpréter les paramètres envoyés
- Interroger la base de données via l'utilisation du fichier "bdd.php"
- Répondre au client ( = le navigateur ) via un "echo" ou un "die()" les paramètres à répondre sous un format attendue ( généralement le JSON est le format idéal, car interprété facilement en JS )

De retour côté javascript, il doit y avoir un callback ( tu en as 2 avec jQuery => success() et error() ) de manière à récupérer la réponse du serveur !

Et voila, ça peut paraitre compliqué mais c'est super simple quand on saisie les bases de programmation JS / PHP

Gaerebut
0
D'accord,

Je comprends mieux,
Par contre je comprends pas comment il "interroge" la bdd, ça veut dire que la connexion n'est jamais fermé ? car dans le code, je ne vois à aucun moment dans le JS qu'il fait un " new pdo" ou un appel de la page qui contient mes requêtes.
Par la je veux dire comment il fait juste avec une URL et la méthode POST pour savoir quel requête (parmis plusieurs) correspond à cette fonction JS .
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
25 nov. 2013 à 11:34
javascript est un langage côté client, il n'appelle pas ta base de données.
Il appelle juste la page some.php en lui passant des paramètres et attend la réponse.

Les éventuelles requêtes devront être dans some.php.

L'ajax ne fait qu'un appel à un fichier ou une ressource et attend une réponse, il ne fait absolument rien d'autre.
0
Ahhhhhh d'accord Merci beaucoup je commence à avoir la lumiere ^^

Donc en fait L'intérêt du JS c'est qu'il affiche qu'une partie des données à l'utilisateur (donc plus rapide) mais qu'en amont par exemple le developeur aura quand meme chargé toutes les données sur 12 mois par exemple pour une combobox où l'on peut sélectionné 1 mois c'est ça ?
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
25 nov. 2013 à 12:37
L'intérêt de l'ajax, c'est de pouvoir appeler une ressource sans avoir à recharger la page.
Après, la possibilités sont grandes, tu peux changer le contenu d'un combo lorsque tu appuies sur tel ou tel bouton, tu peux enregistrer un paramètres quelconque à n'importe quel moment, etc...
0