gpt4 book ai didi

php - JQuery .ajax() 关于用户名验证

转载 作者:行者123 更新时间:2023-11-28 02:47:07 24 4
gpt4 key购买 nike

我试图使用以下代码验证用户名是否存在。但它在某种程度上无法阻止现有的用户名。**注意:checkusr2.php 是一个简单的 php,用于检查数据库中的用户名。

function verifyUser() {
var usr = $("#username").val();
$.ajax( {
type: "POST",
url: "checkusr2.php",
data: "username="+ usr,
success: function(msg) {
$("#txtHint").ajaxComplete(function(event, request, settings){
FormErrors = false;
if(msg == 'OK') {
FormErrors = true;
$('#formElem').data('username',FormErrors);
} else {
$('#formElem').data('username',FormErrors);
}
});
}
});
}

/** 调用函数进行检查。 **/

verifyUser();
if($('#formElem').data('username')){
alert('Username exist, please try another username.');
return false;
}

最佳答案

使用 Charles、Fiddler、WireShark 等 http 代理来查看您正在发送的 ajax 请求并验证响应是否符合您的预期。

一方面,您正在进行异步调用(Ajax 中的 A)来获取用户名是否存在的响应。在您调用 verifyUser 后立即调用 verifyUser 后立即进行检查,并且对 checkusr2.php 的请求可能已返回,也可能尚未返回。

我也从未见过成功处理程序中设置的ajaxComplete。我想你可能想像这样改变它:

function verifyUser() {
var usr = $("#username").val();
$.ajax( {
type: "POST",
url: "checkusr2.php",
data: "username="+ usr,
success: function(msg) {
if(msg != 'OK') {
alert('Username exists, please try another username.');
$("#username").val("");
}
};

});
}

关于php - JQuery .ajax() 关于用户名验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4660850/

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