我正在注册时尝试进行实时验证,以便用户可以查看其用户名是否已被使用。每次输入时,我都会使用jquery向我的控制器发送get请求,该控制器运行查询以检查其名称是否已被使用。如果不是,它将发送回“ 0”,如果是,则发送回“ 1”。当我运行get方法时,我只会得到就绪状态1。但是,我可以看到在readyState内部,responseText给出的是正确的。我已经尝试访问responseText,但没有成功。我将附上日志的图片。Picture of log I am receiving back
$(document).ready(() => {
$("#usernameTaken").hide();
function checkPassword() {
let usernameGiven = $("#username").val();
return $.get( "/getString", {username: usernameGiven})
.done((data) => data)
}
$('#username').on('input', () => {
console.log(checkPassword());
});
});
我的控制器
@RestController
public class TestController {
private Users userRepo;
public TestController(Users userRepo) {
this.userRepo = userRepo;
}
@GetMapping("/getString")
public String getString(@RequestParam(name = "username") String username) {
String count = String.valueOf(userRepo.checkForUsername(username));
return JSONObject.quote(count);
}
}