Javascript 扩展jquerypost函数
我的代码中有以下功能:Javascript 扩展jquerypost函数,javascript,jquery,Javascript,Jquery,我的代码中有以下功能: $.post($form.attr('action'), $form.serializeArray()) .done(function (json) { } 据我从jQuery文档中了解,这是一条捷径。我想做的是改变,这样它允许我有一些函数在成功时执行,一些函数在错误时执行。这可能吗?我所看到的只是一个。完成了吗 $.ajax({ url: target, dataType: 'json',
$.post($form.attr('action'), $form.serializeArray())
.done(function (json) {
}
据我从jQuery文档中了解,这是一条捷径。我想做的是改变,这样它允许我有一些函数在成功时执行,一些函数在错误时执行。这可能吗?我所看到的只是一个。完成了吗
$.ajax({
url: target,
dataType: 'json',
type: 'POST',
data: data,
success: function(data, textStatus, XMLHttpRequest) { },
error: function(XMLHttpRequest, textStatus, errorThrown) { }
实际上,您可以使用.success().error()和.complete()作为.post()-的链接方法,因为,包括
$.post()
,返回一个对象,如果您不想使用完整的$.ajax()
调用,可以使用
$.post(/* snip */).fail(function () {/* snip */});
那么为什么不能只使用
$.ajax()
?那没关系,但我真的不知道在ajax调用中把$form.attr('action'),$form.serializeArray()放在哪里。此外,如果可能的话,jQuery方法看起来确实更干净了。@marij$。ajax()
仍然是jQuery方法:)。@marij$。ajax()
是jQuery。事实上,当您使用$.post()
“弃用注意事项:jqXHR.success()、jqXHR.error()和jqXHR.complete()回调在jQuery 1.8中将被弃用。要准备代码以便最终删除,请改用jqXHR.done()、jqXHR.fail()和jqXHR.always()好吧,这对我来说是件好事。谢谢但我该如何编写这些代码呢?看来回调有点不同。我想我所说的我需要做的就是添加一个.fail并在该函数中输入错误代码,对吗?完成总是意味着成功吗?我读过这篇文章,但不理解延迟对象API的含义。