最近学习了一些Javascript DOM的知识,想要在springboot环境下实现ajax访问数据库并实时返回查询结果。将成果放在这里加深一下记忆。
配置环境
springboot环境下引入阿里系的fastjson组件依赖,用于解析前端传来的json元素
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.76</version>
</dependency>
前端需要引入jquery的依赖,使用jquery提供的ajax方法进行操作
<script src="../../plugins/jquery/jquery.min.js"></script>
实现
DAO层
@Repository
public interface UserRepository {
Optional<LoginServiceModel> FindUserByusername(String username);
Optional<LoginServiceModel> FindUserByemail(String email);
Optional<LoginServiceModel> FindUserByusernameAndpassword(String username,String password);
ArrayList<UserMessageModel> GetUserByusername(String username);
int RegisterUser(User user);
}
Service层
@Service
public class UserServiceImpl implements UserService {
@Autowired
UserRepository userRepository;
@Override
public boolean FindUserByusername(String username) {
return userRepository.FindUserByusername(username).isPresent();
}
Controller层
//接收json数据串需要在controller方法处加@ResponseBody注解
@ResponseBody
@PostMapping("/test")
public String test(@RequestBody JSONObject message){
/* 1.get方法返回值为Object类型,需要进行强制转换
* 2.get方法内的参数必须与Js脚本内json串的key值对应*/
boolean ss=userService.FindUserByusername((String)message.get("message"));
if(ss)return "true";
else return "false";
}
ajax代码
function isexist(i){
var message =$("#uname").val();
var tele = {"message":message};//json串的标准形式,新版本json严格要求格式正确
var option ={
url:"/user/test",//ajax访问Controller位置
contentType:"application/json;charset=UTF-8",
type:"POST",//GET请求无法接收json串
async:false,
datatype: "json",
data: JSON.stringify(tele),//将json串转换为字符串形式
success:function (msg){
message=msg;
if(msg==="true")$("#acc").html("用户已存在!");
else $("#acc").html("");
}
};
$.ajax(option);//jquery的ajax方法
}
Java后端的学习是学无止境的,共勉~~
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。