Javascript 我的问题与删除函数成功、错误、完成有关
我使用的是jQuery3.x.x。正如jQuery3.x.x发行说明中提到的,方法success、complete和error被删除。我在jQuery3.x.xajax中使用success函数。我的成功函数工作正常,而不是在控制台中记录错误。供参考Javascript 我的问题与删除函数成功、错误、完成有关,javascript,jquery,Javascript,Jquery,我使用的是jQuery3.x.x。正如jQuery3.x.x发行说明中提到的,方法success、complete和error被删除。我在jQuery3.x.xajax中使用success函数。我的成功函数工作正常,而不是在控制台中记录错误。供参考 我的代码在这里: <script src="jquery-3.3.1.js"></script> <script> $(document).ready(function() { $('#userName'
我的代码在这里:
<script src="jquery-3.3.1.js"></script>
<script>
$(document).ready(function() {
$('#userName').click(function() {
$.ajax({
url : 'JqueryTest',
data : {
userName : $('#userName').val()
},
success : function(responseText) {
alert(responseText);
$('#ajaxGetUserServletResponse').text(responseText);
}
});
});
});
</script>
$(文档).ready(函数(){
$('#用户名')。单击(函数(){
$.ajax({
url:'JqueryTest',
数据:{
用户名:$('#用户名').val()
},
成功:函数(responseText){
警报(responseText);
$('#ajaxGetUserServletResponse').text(responseText);
}
});
});
});
最后,success函数在这里工作,它应该在控制台中记录错误 从jQuery 3.0开始,
成功
、错误
和完成
已被删除,并替换为完成
、失败
和始终
,如下所示:
$.ajax( "example.php" )
.done(function() {
alert( "success" );
})
.fail(function() {
alert( "error" );
})
.always(function() {
alert( "complete" );
});
你会被两个名字相同的东西弄糊涂 您在问题中链接到的内容是: 注意,这对ajax回调没有任何影响 通过options对象传递的相同名称,该对象将继续 已存在且未弃用。这只影响jqXHR方法 当你写作时
$.ajax({
...
success : function(responseText) {
}
});
在代码中,这是通过上面引用的$.ajax()
选项指定的回调。正如引文所说,这些选项没有被删除或弃用,并且将继续工作。需要注意的是,在本例中,success
是一个选项的名称,而不是函数的名称。您提供的函数是匿名的
已删除的函数是属于jQuery延迟对象类的函数-这是由$ajax()
返回的对象类型
例如,如果您的代码包含如下内容:
var deferredResponse = $.ajax({
url: "http://www.example.com",
method: "GET"
});
deferredResponse.success(function(response) {
console.log(response);
});
…那么那里的“success”函数在jQuery 3.0中就不起作用了
您可以参考以查看哪些选项当前可以有效地传递给$.ajax()
以及查看延迟对象上当前可用的方法。您到底想要什么?请详细描述您的问题。从jQuery 3.0开始,错误和完成已被删除。但我正在使用jQuery 3.0的成功。我正确地得到结果。不是错误。但为什么……我的问题是这一点成功已在jQuery 3.0中删除。因此不应在jQuery 3.0中使用成功,但我在jQuery 3.0中已经使用了成功。原因是?success()
方法已被删除,但ajax()
的设置仍然可用。更多信息: