jQuery: capturer l’ancre href onclick et soumettre de manière asynchrone

Je ne joue presque jamais avec des affaires côté client, et cette tâche supposément simple me donne des coups de pied dans les fesses 🙂

J’ai des liens. OnClick je veux empêcher l’action par défaut, capturer son URL href, soumettre un ajax GET à cette URL, et simplement alert() avec les résultats … mais je ne peux même pas aller au-delà de la ligne de départ 🙂

Exemple d’ancres pour le temps de jeu:

 Click Here Click Here 

Maintenant, j’ai joué avec quelques suggestions pour des demandes similaires sur SO, mais les liens amènent toujours le navigateur à accéder à l’URL href.

Même avec juste

  $('a').click(function (event) { event.preventDefault(); //here you can also do all sort of things });  

… les liens continuent de naviguer vers l’autre page.

Je me sens un peu comme et bébé ici 🙂

Toute aide sera profondément appréciée.

Et, oui, je suis y compris jQuery 🙂

 $('a').click(function(event) { event.preventDefault(); $.ajax({ url: $(this).attr('href'), success: function(response) { alert(response); } }); return false; // for good measure }); 

Essaye ça

 $('a').click(function (event) { event.preventDefault(); var url = $(this).attr('href'); $.get(url, function(data) { alert(data); }); }); 

Le problème ici est que les événements ne sont pas attachés à votre élément car ils ne sont pas liés dans un événement DOM ready. Essayez d’inclure vos événements dans les événements prêts pour le DOM et si cela fonctionne, vous verrez l’alerte.

  

Après cela, envoyez la demande Ajax et soumettez le formulaire dans la fonction de rappel de réussite.