JQuery: Effectuez une publication avant qu'un lien ne soit suivi

Je dois faire une publication asynchrone sur un serveur lorsque quelqu'un sur mon site clique sur un lien. J'ai essayé le code ci-dessous, mais cela ne semble pas faire la tâche sur le serveur que je le souhaite. Je pense que le problème est qu'il suit le lien avant que quelque chose ne se produise. Je n'ai pas besoin d'attendre la réponse du serveur, j'ai juste besoin de l'envoyer. Quelqu'un peut m'aider? Peut-être comment retarder suite au lien avant qu'il soit appelé ou devrais-je noter en utilisant $ .post?

$("#item").click(function (ev) { $.post(link_to_something); }); <a id="item" href="www.google.com">Link</a> 

La première chose est d'annuler l'action par défaut du lien en renvoyant le faux du gestionnaire de click . Cela permettra un temps suffisant pour que la requête AJAX soit complétée. Et quand il se termine, à l'intérieur du rappel de réussite, vous pouvez rediriger vers l'endroit où le lien indique:

 $("#item").click(function (ev) { var self = this; $.post(link_to_something, function() { window.location.href = self.href; }); return false; }); 

Vous devez vérifier la réponse pour déterminer si la publication a été réussie ou non, alors vous devriez continuer.

 $("#item").click(function (e) { e.preventDefault(); $.post(link_to_something, function() { window.location = $(this).attr('href'); }); });