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

获取jquery中的最后一个ajax调用,ajax,jquery,jasmine,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调用

这是我的密码

<!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>

函数getCreateCount(){
$.ajax({
键入:“获取”,
url:“/Account/Register/”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”
});
log($.ajax.mostRecentCall.args[0]);
}
但当我在控制台中看到时,它会显示“TypeError:$.ajax.mostRecentCall未定义”


谢谢,

在ajax jquery中没有类似“$.ajax.mostRecentCall”的内容


正如PSR所提到的,您可以尝试使用一个标志变量,您可以注册一个全局的ajaxComplete处理程序,该处理程序将在每次AJAX调用完成时调用

有了它,您可以模拟类似Jasmine
$.ajax.calls.mostRecentCall()的属性:

$(document).ajaxComplete(function(ev, jqXHR, settings) {
    $.ajax.mostRecentCall = jqXHR;
});
在本例中,我保存的是
jqXHR
对象,而不是传递给
$.ajax
的确切参数集


当然,请注意,在调用
$之后不会立即填充此函数。ajax
在至少一个调用完成之前不会填充此函数。

我认为mostRecentCall函数来自框架。您必须在代码中包含Jasmine


mostRecentCall在jquery中不存在

在日志记录之前添加一个警报将给ajax调用足够的时间来完成。(这应该可以做到)

如果您不需要任何警报,那么可以使用sleep()方法

$.ajax.mostRecentCall
在Jquery中。这是来自Jasmine.js的。除非并且直到您添加对Jasmine.js的引用并按照步骤监视函数,否则它将给您一个错误


您可能需要参考Jasmin.js的版本。下面是演示如何使用它的示例。

尝试使用标志变量use
var ajaxcall=$.ajax({type:'GET',…
然后尝试是否可以使用ajaxcall变量获取所需信息这篇文章是否有帮助?这是Jasmine框架吗?你似乎没有加载Jasmine?你想知道最近发起的调用还是最近完成的调用?你能做些什么吗?不,不!如果你正确初始化Jasmine,然后调用spyOn($,“ajax”)之前,那么它应该在没有任何黑客攻击的情况下工作!@jackocnr注意到OP说他们希望在不使用Jasmine的情况下获得此功能。