在jquery中获取最后一个ajax调用

Anc*_*ent 4 ajax jquery jasmine

我想在我的代码中进行最后一次ajax调用.

这是我的代码

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="Scripts/jquery-1.7.1.min.js"></script>


<script>
    function getCreateAccount() {
        $.ajax({
             type: "GET",
             url: "/Account/Register/",
             contentType: "application/json; charset=utf-8",
             dataType: "json"
         });
        console.log($.ajax.mostRecentCall.args[0]);
    }

</script>

</head>
<body>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

但当我在我的控制台中看到它说"TypeError:$ .ajax.mostRecentCall is undefined".

谢谢,

Aln*_*tak 7

您可以注册一个全局ajaxComplete处理程序,每次AJAX调用完成时都会调用该处理程序.

有了这个,你可以模仿像Jasmine $.ajax.calls.mostRecentCall()属性:

$(document).ajaxComplete(function(ev, jqXHR, settings) {
    $.ajax.mostRecentCall = jqXHR;
});
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我正在保存jqXHR对象,而不是传递给的确切参数集$.ajax.

当然,请注意,$.ajax调用后不会立即填充 - 直到至少一个调用完成后才会填充它.