3

我的代码中有以下功能:

        $.post($form.attr('action'), $form.serializeArray())
            .done(function (json) {
            }

根据我从 jQuery 文档中了解到的情况,这是一条捷径。我想做的是进行更改,以便它允许我拥有一些在成功时执行的功能和一些在错误时执行的功能。这可能吗?我看到的只是一个.done?

$.ajax({
   url: target,
   dataType: 'json',
   type: 'POST',
   data: data,
   success: function(data, textStatus, XMLHttpRequest) { },
   error: function(XMLHttpRequest, textStatus, errorThrown) { }
4

2 回答 2

5

由于所有 jQuery ajax 方法,包括$.post(),都返回一个对象,如果您不想使用完全调用jqXHR,可以使用Deferred 对象 API$.ajax()

$.post(/* snip */).fail(function () {/* snip */});
于 2012-04-23T13:38:43.480 回答
1

实际上,您可以使用 .success() .error() 和 .complete() 作为 .post() 的链接方法 - http://api.jquery.com/jQuery.post/

于 2012-04-23T13:38:43.120 回答