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