$(function () {
var path = $('#basePath').val();
$('#loginBtn').click(function () {
$.ajax({
type:"post",
url:path + "/sysUserController/logon", //----------------------------1
contentType:"application/json;charset=UTF-8",
data:JSON.stringify({"userName":$('#userName').val(),"password":$('#password').val()}),
//dataType设置为json时,会自动将后台返回的符合json格式的字符串数据转换为json对象,此时前台就不需要再手动转换
//JSON.stringify(),将JSON对象转换为JSON类型的字符串;JSON.parse(),将JSON类型的字符串转换为JSON对象
dataType:"json",
success:function (data) {
alert(JSON.stringify(data));
console.log(data);
if (data.result == "success") {
alert("登录成功!");
window.location.href = path + "/sysUserController/showUserToJspById/" + data.userId; //------------------------2
} else {
alert("用户名或密码错误");
}
}
})
})
})
这里的path是在前端页面获取到的“请求的上下文”(the context of the request)( 在jsp页面通过request.getContextPath()来获取 )
1.在部署时,如果在Deployment里加上了项目名称,即实际访问地址形如“http://localhost:8080/XXX”,“XXX”就是path,此时,需要在ajax的url里加上path,否则找不到对应的controller;
2.这里是操作成功后需要跳转的地址,同上