Comment fonctionne réellement jquery ajax

Dites que j’ai un formulaire comme celui-ci (tiré d’un livre sur jquery)

 

et une fonction ajax comme ceci:

 $(document).ready(function() { $('#submit').click(function () { var name = $('.uname').val(); var data = 'uname=' + name; $.ajax({ type:"POST", url:"welcome.php", data: data, success: function (html) { $('#message').html(html); } }); return false; }); }); 

et le fichier de script ressemble à ceci:

  

cela fonctionnera mais voici ce que je ne peux pas comprendre. Si le script welcome.php obtient la valeur de $ name du tableau POST, pourquoi a-t-il besoin que les données lui soient envoyées par la requête ajax? Le tableau POST contient déjà cette information?

De plus, si j’ai bien compris, la demande ajax se présente sous la forme de paires clé / valeur, mais les données sont envoyées sous la forme uname = name, mais les paires clé / valeur ne comportent normalement pas de signe égal.

Qu’est-ce qui se passe ici – ça marche, mais ça n’a pas de sens pour moi et je déteste juste insérer du code que j’ai appris par cœur.

Le problème est avec votre code
var data = ‘uname =’ + nom;
utilisation
var data = ‘{uname:’ + name + ‘}’;
parce que c’est une méthode post

jQuery AJAX fonctionne de manière asynchrone. Le formulaire n’est pas publié, comme vous pouvez le constater, aucun atsortingbut d’action ou de méthode n’est défini sur la balise de formulaire.

jQuery intercepte le clic sur le bouton et configure une nouvelle requête asynchrone, puis ajoute les données à cette requête et la poste sur le serveur.