Javascript 为什么将.success()与getJSON一起使用?
对于jQuery函数,使用.success()的原因是什么?初始功能将在成功后执行,对吗?那么,当包含.success()时,您不只是执行了两次吗Javascript 为什么将.success()与getJSON一起使用?,javascript,jquery,Javascript,Jquery,对于jQuery函数,使用.success()的原因是什么?初始功能将在成功后执行,对吗?那么,当包含.success()时,您不只是执行了两次吗 在这种情况下,您不需要success函数,您已经定义了一个在成功时要执行的函数。在这种情况下,您不需要success函数,您已经定义了一个在成功时要执行的函数。如果孤立地看它,并且只是一个愉快的场景,是的:它们做同样的事情。无论请求的结果如何,都会调用回调函数作为$.getJSON的最终参数 .success()这样做的灵感来自于承诺。您可以在此处阅
在这种情况下,您不需要success函数,您已经定义了一个在成功时要执行的函数。在这种情况下,您不需要success函数,您已经定义了一个在成功时要执行的函数。如果孤立地看它,并且只是一个愉快的场景,是的:它们做同样的事情。无论请求的结果如何,都会调用回调函数作为
$.getJSON
的最终参数
.success()
这样做的灵感来自于承诺。您可以在此处阅读更多关于它们的信息:
承诺为组合许多异步操作以及处理不成功的场景设置了更好的接口
你应该使用
.then()
而不是.success()
:如果孤立地看待它,并且只是一个快乐的场景,是的:它们做同样的事情。无论请求的结果如何,都会调用回调函数作为$.getJSON
的最终参数
.success()
这样做的灵感来自于承诺。您可以在此处阅读更多关于它们的信息:
承诺为组合许多异步操作以及处理不成功的场景设置了更好的接口
您应该使用
.then()
而不是.success()
:您可以看到您的请求何时成功。您可以在控制台中看到消息以及诸如此类的内容…我不知道您可以看到您的请求何时成功。您可以在控制台中看到消息以及诸如此类的内容…我不知道它们被设计为在每种情况下执行一个函数。成功案例、错误案例和始终执行的常规函数
但作为和,.success()
已被弃用。见:
不推荐使用注意事项:从jQuery 1.8开始,jqXHR.success()、jqXHR.error()和jqXHR.complete()回调都不推荐使用。要准备代码以便最终删除,请改用jqXHR.done()、jqXHR.fail()和jqXHR.always()
使用这种方法,您有一个函数在成功时执行,另一个函数在失败时执行,最后一个函数在任何情况下执行:
// Assign handlers immediately after making the request,
// and remember the jqXHR object for this request
var jqxhr = $.ajax( "example.php" )
.done(function() {
alert( "success" );
})
.fail(function() {
alert( "error" );
})
.always(function() {
alert( "complete" );
});
// Perform other work here ...
// Set another completion function for the request above
jqxhr.always(function() {
alert( "second complete" );
});
它们被设计为在每种情况下执行一个函数。成功案例、错误案例和始终执行的常规函数 但作为和,
.success()
已被弃用。见:
不推荐使用注意事项:从jQuery 1.8开始,jqXHR.success()、jqXHR.error()和jqXHR.complete()回调都不推荐使用。要准备代码以便最终删除,请改用jqXHR.done()、jqXHR.fail()和jqXHR.always()
使用这种方法,您有一个函数在成功时执行,另一个函数在失败时执行,最后一个函数在任何情况下执行:
// Assign handlers immediately after making the request,
// and remember the jqXHR object for this request
var jqxhr = $.ajax( "example.php" )
.done(function() {
alert( "success" );
})
.fail(function() {
alert( "error" );
})
.always(function() {
alert( "complete" );
});
// Perform other work here ...
// Set another completion function for the request above
jqxhr.always(function() {
alert( "second complete" );
});
仅供参考,
success()?这可能是在错误/误解中使用的。仅供参考,success()
方法不受欢迎。我想我没有看到它被使用过,你在什么地方看到过吗?可能是在错误/误解中使用了它。getJSON API引用()也指向.done()、.fail()、.always(),但对于JSONP来说。我没有使用JSONP。但上述方法仍然有效。如果我在getJSON()中使用它们,会有问题吗?顺便说一句,它们没有提到.then().getJSON返回一个延迟的,并且它支持.then():,但是.done()和.fail()也非常适合!getJSON API引用()也指向.done(),.fail(),.always(),但对于JSONP。我没有使用JSONP。但上述方法仍然有效。如果我在getJSON()中使用它们,会有问题吗?顺便说一句,它们没有提到.then().getJSON返回一个延迟的,并且它支持.then():,但是.done()和.fail()也非常适合!