一:Ajax是什么?
Ajax即Asynchronous Javascript And XML(异步JavaScript和XML)在 2005年被Jesse James Garrett提出的新术语,用来描述一种使用现有技术集合的‘新’方法。
例如: HTML 或 XHTML, CSS, JavaScript, DOM, XML, XSLT, 以及最重要的XMLHttpRequest。
作用:使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。
二:Ajax实现登录页面
login.html
Login用户名
密码
忘记密码?
登 录
function login() {
let username = $("#username").val(); //获取值;
let password = $("#password").val();
if (username === "" || password === ""){
console.log('用户名和密码不能为空哦');
return;
}else{
$.ajax({
type: "POST", //请求方式;
url: "/login", //请求的地址为、login;
dataType: "json", //数据类型;
data: {username:username, password:password}, //传递的数据;
success: function(result) { //用回调函数接收传回来的值;
if (result.code === 200) {
window.location.href = '/index'; //跳转页面路径;
} else {
console.log("failed!!!")
}
},
});
}
}
二:Controller实现
LoginController.java
@Controller
public class LoginController {
@Autowired
private LoginMapper loginMapper;
@Autowired
private Result result;
@GetMapping("/login")
public String login(){
return "login";
}
private static final Logger log = LoggerFactory.getLogger(LoginController.class);
@PostMapping("/login") //POST请求
@ResponseBody //返回JSON
public String login(String username, String password, HttpServletRequest request){
// 获取管理员对象
User user = loginMapper.selectById(1);
// 进行判断
if (user.getName().equals(username) && user.getPassword().equals(password)){
result.setCode(200);
result.setMessage("success!!");
log.warn("登录成功!!");
request.getSession().setAttribute("user",user);
}else {
result.setCode(404);
result.setMessage("failed!!");
log.warn("【错误】密码登录,用户名或密码错误");
}
//使用了fastjson
return JSONObject.toJSONString(result);
}
}
导入的包:
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
mysql
mysql-connector-java
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.1.3
com.alibaba
fastjson
1.2.62
结语:
最近用到了做个笔记...
更多推荐
ajax实现登录页面跳转,Ajax登录功能实现
发布评论