gpt4 book ai didi

javascript - 我的问题与删除功能成功、错误、完成有关

转载 作者:行者123 更新时间:2023-12-02 23:50:06 27 4
gpt4 key购买 nike

我正在使用 jQuery 3.x.x。正如 jquery 3.x.x 发行说明中提到的,方法 success、complete、error 已被删除。我正在使用 jquery 3.x.x ajax 的 success 函数。我的成功功能工作正常,而不是在控制台中记录错误。以供引用 https://jquery.com/upgrade-guide/3.0/#breaking-change-special-case-deferred-methods-removed-from-jquery-ajax
我的代码在这里:

<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>

最后成功函数在这里起作用,而不是它应该在控制台中记录错误。

最佳答案

您对具有相同名称的两个不同事物感到困惑。

article您在问题中链接到的内容是:

Note that this does not have any impact at all on the ajax callbacks of the same name passed through the options object, which continue to exist and are not deprecated. This only affects the jqXHR methods.

当你写的时候

$.ajax({
...
success : function(responseText) {
}
});

在您的代码中,这是通过上面引用中引用的 $.ajax() 选项指定的回调。正如引文所述,这些选项尚未被删除或弃用,并将继续有效。需要注意的是,在此示例中,success选项的名称,而不是函数的名称。您提供的函数是匿名的。

已删除的函数属于 jQuery Deferred 对象类 - 这是由 $ajax() 返回的对象类型。

例如,如果您的代码包含以下内容:

var deferredResponse = $.ajax({ 
url: "http://www.example.com",
method: "GET"
});

deferredResponse.success(function(response) {
console.log(response);
});

...那么“成功”函数在 jQuery 3.0 中将不再起作用。

您可以引用https://api.jquery.com/jQuery.ajax/查看哪些选项当前可有效传递给 $.ajax() 以及 https://api.jquery.com/category/deferred-object/查看 Deferred 对象当前可用的方法。

关于javascript - 我的问题与删除功能成功、错误、完成有关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55688898/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com