点击链接不应等待jQuery AJAX调用完成

时间:2017-08-17 09:01:37

标签: jquery ajax

我会尽力解释我的问题。

我的问题是,如果一个AJAX调用正在运行,它必须在浏览器跟随用户点击的链接之前完成。我希望浏览器忽略AJAX调用并立即关注链接。

我做了一些测试并发现了这个:

  • 如果链接指向完全不同的域,则浏览器会紧跟链接。
  • 如果链接指向同一个域,则AJAX调用必须完成,然后浏览器将按照链接进行操作。

也许我只是误解了jQuery AJAX异步调用是如何工作的。

这段代码的作用是立即启动AJAX调用,我确保需要很长时间才能完成。它让我有时间点击两个链接之一来测试问题。这就是我上面得出的结论。

<!DOCTYPE html>
<html>
<head>
    <title>AJAX</title>
</head>
<body>
    <a href="https://google.dk" style="display:block;font-size:40px;margin-bottom:20px;">1. Test link to Google</a>
    <a href="/some-url" style="display:block;font-size:40px;margin-bottom:20px;">2. Test link to current domain</a>
    <div style="border:1px solid black;width:800px;" id="test">Loading...</div>
</body>
<script
  src="https://code.jquery.com/jquery-1.12.4.min.js"
  integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ="
  crossorigin="anonymous"></script>
<script>
    $.ajax({
        url: '/another-url',  
        success: function(response) {
            $("#test").html(response);
        }
    });
</script>
</html>

0 个答案:

没有答案