我有以下内容:
$.ajax(link.href,
{
cache: false,
dataType: 'html'
})
.done(onDialogDone)
.fail(onDialogFail);
这样可以正常工作并调用onDialogDone。但是,我希望看到哪些参数提供给onDialogDone,以及我期望在onDialogFail中看到什么。
我问的原因是因为我使用的是typescript,我想在定义onDialogDone和onDialogFail时提供正确的参数。
答案 0 :(得分:37)
.done()
和.fail()
的参数与$.ajax()
函数的相应success:
和error:
参数的参数相同,即:< / p>
.done( function(data, textStatus, jqXHR) { ... } );
和
.fail( function(jqXHR, textStatus, errorThrown) { ... } );
出于打字稿的目的,textStatus
和errorThrown
是字符串,jqXHR
是Object
,而data
取决于远程服务器向您发送的内容
答案 1 :(得分:4)
传递给done
处理程序的三个参数是:
data, textStatus, jqXHR
您可以在此处阅读更多内容:http://api.jquery.com/jQuery.ajax/
data
是回复消息textStatus
将始终在done
函数jqXHR
是原始的XMLHttpRequest 答案 2 :(得分:3)
检查this:
方法(jqXHR和Deferred实现的一部分,此处仅为清晰起见)
.ajax().always(function(a, textStatus, b){});
替换jQuery 1.8中不推荐使用的方法.complete()。 响应成功的事务,参数与.done()相同(即a = data,b = jqXHR),对于失败的事务,参数与.fail()相同(即a = jqXHR,b = errorThrown)。 这是上面完整回调函数的替代构造。有关实现细节,请参阅deferred.always()。
.ajax().done(function(data, textStatus, jqXHR){});
替换jQuery 1.8中不推荐使用的方法.success()。 这是上面成功回调函数的替代构造。有关实现的详细信息,请参阅deferred.done()。
.ajax().fail(function(jqXHR, textStatus, errorThrown){});
替换jQuery 1.8中不推荐使用的方法.error()。 这是上面完整回调函数的替代构造。有关实现的详细信息,请参阅deferred.fail()。
.ajax().then(function(data, textStatus, jqXHR){}, function(jqXHR, textStatus, errorThrown){});
包含.done()和.fail()方法的功能。 有关实现细节,请参阅deferred.then()。
.ajax().pipe(function(data, textStatus, jqXHR){}, function(jqXHR, textStatus, errorThrown){});
包含.done()和.fail()方法的功能,允许操作底层的Promise。 有关实现的详细信息,请参阅deferred.pipe()。