SpringBoot 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>
<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<User, Long> {</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 <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;
}
</code></pre>
<p>}</p>
原文地址: https://www.cveoy.top/t/topic/nnly 著作权归作者所有。请勿转载和采集!