1. 前端代码 在前端页面中,使用AJAX向后端发送请求,判断用户名是否存在。
<script>
    function checkUsername() {
        var username = document.getElementById("username").value;
        if (username.trim() == '') {
            alert("用户名不能为空!");
            return false;
        }
        $.ajax({
            url: "/checkUsername",
            type: "POST",
            dataType: "json",
            data: {username: username},
            success: function (result) {
                if (result.code == 200) {
                    alert("用户名已存在!");
                } else {
                    alert("用户名可以使用!");
                }
            },
            error: function (result) {
                alert("请求失败!");
            }
        });
    }
</script>
  1. 后端代码 在后端控制器中,接收前端传来的用户名,判断是否存在,将结果返回给前端。
@RestController
public class UserController {

    @Autowired
    private UserService userService;

    @PostMapping(value = "/checkUsername")
    public Result checkUsername(@RequestParam String username) {
        if (userService.getUserByUsername(username) != null) {
            return ResultUtil.error(200, "用户名已存在!");
        } else {
            return ResultUtil.success("用户名可以使用!");
        }
    }
}
  1. 服务层代码 在服务层中,定义了getUserByUsername()方法,用于根据用户名查询用户信息。
@Service
public class UserService {

    @Autowired
    private UserRepository userRepository;

    public User getUserByUsername(String username) {
        return userRepository.findByUsername(username);
    }
}
  1. 数据访问层代码 在数据访问层中,定义了findByUsername()方法,用于根据用户名查询用户信息。
public interface UserRepository extends JpaRepository<User, Long> {

    User findByUsername(String username);
}
  1. 实体类代码 定义了User实体类,包含了用户名等属性。
@Entity
@Table(name = "user")
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(nullable = false, unique = true)
    private String username;

    // 省略其他属性和getter/setter方法
}
  1. 返回结果类代码 定义了Result类,用于封装请求的返回结果。
public class Result<T> {

    private Integer code;

    private String message;

    private T data;

    // 省略getter/setter方法
}
  1. 返回结果工具类代码 定义了ResultUtil工具类,用于快速封装请求的返回结果。
public class ResultUtil {

    public static <T> Result<T> success(T data) {
        Result<T> result = new Result<>();
        result.setCode(0);
        result.setMessage("成功");
        result.setData(data);
        return result;
    }

    public static Result error(Integer code, String message) {
        Result result = new Result();
        result.setCode(code);
        result.setMessage(message);
        return result;
    }
}
在spring boot中使用AJAX编写程序实现判断表单中的用户名是否存在完整代码

原文地址: https://www.cveoy.top/t/topic/b3eZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录