JQuery:在跟踪链接之前执行post

当我网站上有人点击链接时,我需要向服务器发送异步post。 我尝试了下面的代码,但它似乎没有在我想要的服务器上执行任务。 我认为问题在于它会在某些事情发生之前跟踪链接。 我实际上不需要等待来自服务器的响应,我只是需要它来发送它的呼叫。 谁能帮我吗? 也许如何在调用之前延迟关注链接,或者我应该注意使用$ .post?

$("#item").click(function (ev) { $.post(link_to_something); }); Link 

第一件事是通过从click处理程序返回false来取消链接的默认操作。 这将为AJAX请求留出足够的时间来完成。 当它完成时,在成功回调中你可以重定向到链接指向的任何地方:

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

您必须检查响应以确定post是否已成功,然后您应该继续。

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