<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>
<p>@RestController
public class UserController {</p>
<pre><code>@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('用户名可以使用!');
    }
}
</code></pre>
<p>}</p>
<p>@Service
public class UserService {</p>
<pre><code>@Autowired
private UserRepository userRepository;

public User getUserByUsername(String username) {
    return userRepository.findByUsername(username);
}
</code></pre>
<p>}</p>
<p>public interface UserRepository extends JpaRepository&lt;User, Long&gt; {</p>
<pre><code>User findByUsername(String username);
</code></pre>
<p>}</p>
<p>@Entity
@Table(name = 'user')
public class User {</p>
<pre><code>@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

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

// 省略其他属性和getter/setter方法
</code></pre>
<p>}</p>
<p>public class Result<T> {</p>
<pre><code>private Integer code;

private String message;

private T data;

// 省略getter/setter方法
</code></pre>
<p>}</p>
<p>public class ResultUtil {</p>
<pre><code>public static &lt;T&gt; Result&lt;T&gt; success(T data) {
    Result&lt;T&gt; result = new Result&lt;&gt;();
    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;
}
</code></pre>
<p>}</p>
SpringBoot AJAX 用户名校验:完整代码示例

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

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