gpt4 book ai didi

javascript - Ajax 请求未在新版本的 jquery 中触发

转载 作者:行者123 更新时间:2023-11-30 09:33:33 24 4
gpt4 key购买 nike

我有一个小脚本来检查数据库中的用户名,如果它被占用,它会说已被占用,如果它可用,它会说可用。目前以下代码在 jQuery v1.7.2 中完美运行

我需要如何更新它才能使用当前版本的 jQuery v3.2.1,但是尝试使用当前的 jquery 版本它只是说检查可用性,没有别的。

$(document).ready(function() {
$("#username").keyup(function() {
var username = $("#username").val();
var msgbox = $("#status");

if (username.length > 3) {
$("#status").html('');

$.ajax({
type: "POST",
url: "includes/user_check.php",
data: "username=" + username,
success: function(msg) {
$("#status").ajaxComplete(function(event, request) {
if (msg == 'OK') {

$("#username").removeClass("red");
$("#username").addClass("green");
msgbox.html('Available');
} else {
$("#username").removeClass("green");
$("#username").addClass("red");
msgbox.html(msg);
}

});
}
});
} else {
$("#username").addClass("red");
$("#status").html('<font color="#cc0000">To Short</font>');
}
return false;
});
});

最佳答案

您的 ajaxComplete 附加到了错误的地方。根据documentation for .ajaxComplete

Additional Notes:

As of jQuery 1.9, all the handlers for the jQuery global Ajax events, including those added with the .ajaxComplete() method, must be attached to document.

If $.ajax() or $.ajaxSetup() is called with the global option set to false, the .ajaxComplete() method will not fire.

尝试更改此部分: $("#status").ajaxComplete(function(event, request) {

UPD:实际上您在实现中甚至不需要这个函数。 success 会为你做到这一点

关于javascript - Ajax 请求未在新版本的 jquery 中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44908665/

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