小编典典

jQuery:执行链接之前的发布

ajax

当网站上的某人单击链接时,我需要向服务器进行异步发布。我尝试了下面的代码,但似乎并没有在我想要的服务器上执行任务。我认为问题在于,链接可能会在链接发生之​​前发生。我实际上不需要等待服务器的响应,我只需要它即可将调用发送给它。谁能帮我吗?也许如何在链接被调用之前延迟跟踪链接,或者应该使用$
.post进行记录?

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

<a id="item" href="www.google.com">Link</a>

阅读 261

收藏
2020-07-26

共1个答案

小编典典

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

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