使用AJAX可以在不刷新页面的情况下向服务器发送请求,并获取服务器端响应,从而达到异步更新页面内容和验证用户输入的目的。下面是使用AJAX完成用户名是否存在异步校验的攻略:
1.前端页面
在前端页面中,需要先引入jQuery库,然后编写一个函数进行异步校验,具体代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户名异步校验Demo</title>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script>
//用户名异步校验函数
function checkUsername() {
//获取用户名输入框的值
var username = $("#username").val();
//使用AJAX向服务器发送请求
$.ajax({
url: "checkUsername.php", //处理AJAX请求的后端文件
type: "POST", //发送请求的方式
data: {username: username}, //发送的数据
dataType: "json", //服务器返回的数据类型
success: function (data) { //响应成功后的回调函数
if(data.code == 200) { //如果返回的状态码为200,说明用户名已存在
//在前端页面中显示提示信息
$("#result").html("<font color='red'>用户名已存在</font>");
} else { //如果返回的状态码为其他值,则用户名不存在
//在前端页面中显示提示信息
$("#result").html("<font color='green'>用户名可用</font>");
}
}
});
}
</script>
</head>
<body>
<form>
<label>用户名:</label>
<input type="text" name="username" id="username" onblur="checkUsername()"/><br>
<div id="result"></div>
</form>
</body>
</html>
2.后端处理
在后端处理中,需要接收前台传来的用户名数据,查询数据库中是否存在该用户名,同时需要定义一个JSON格式的返回值,具体代码如下:
<?php
//数据库连接参数
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "test";
//创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
//检查连接是否成功
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
//获取用户名
$username = $_POST["username"];
//查询数据库中是否存在该用户名
$sql = "SELECT * FROM user WHERE username='$username'";
$result = mysqli_query($conn, $sql);
//定义返回值
$response = array();
if(mysqli_num_rows($result) > 0) {
//如果用户名已存在,返回状态码200
$response['code'] = 200;
} else {
//如果用户名不存在,返回状态码100
$response['code'] = 100;
}
//将返回值以JSON格式返回给前端页面
echo json_encode($response);
//关闭连接
mysqli_close($conn);
?>
以上是使用AJAX完成用户名是否存在异步校验的具体实现步骤,可以通过该方法实现在用户输入用户名时实时验证用户名是否已经存在。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用AJAX完成用户名是否存在异步校验 - Python技术站