如何延迟加载 anchor 链接,直到 $.get 请求发出后?我有
$("a.track").click(function() {
$.get("track.php", { id: "page1.html" });
});
...但是单击链接会在上述请求完成之前加载新页面(我在 PHP 页面上的响应未记录)。如果我使用 return false;
停止链接,$.get 请求将按预期工作,但现在链接不会加载。
我想做的是类似的事情
$.get("track.php", { id: "page1.html" }, function() {
return true;
});
...但是新页面会在执行之前加载,因此它无法按预期工作。
如何才能使此链接仅在发送 GET 请求后才加载?我并不真正关心从请求中获取结果,我只想在新页面加载之前发送它。
最佳答案
您可以向点击处理程序传递一个回调,该回调将在成功时重定向页面。
$("a.track").click(function(event) {
event.preventDefault(); // Ignore user's click
var href = $(this).attr('href');
$.get("track.php", { id: "page1.html" }, function(data){
window.location = href; // Redirect on success
});
});
关于jQuery:如何将超链接加载为 $.get 回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/674581/