我正在为我们的系统进行登录,index.html 有这个脚本,
<script>
$('#navbar').load('navbar.html');
$('#errorMessage').hide();
$("#loginBtn").click(function() {
$.post('http://localhost:8080/NewDesignV1/login.action',
{
username : $("#username").val(),
password : $("#password").val()
}
,'html');
});
</script>
帖子位置是一个servlet,我需要转到这个servlet,以便我可以从index.html获取数据,对其进行操作并将其重定向到JSP页面。
我的问题是,我可以从ajax post获取数据,但当我使用时它不会重定向到JSP页面
request.setAttribute("key", value);
request.getRequestDispatcher("studentprofile.jsp").forward(request, response);
原因是你通过 $.post
调用它,所以它是一个 ajax
方法,事实上 request.getRequestDispatcher("studentprofile.jsp").forward(request, response);
正在工作,你可以得到它
$("#loginBtn").click(function() {
$.post('http://localhost:8080/NewDesignV1/login.action',
{
username : $("#username").val(),
password : $("#password").val()
},
function(data){
console.log(data);//you can get the redirect jsp context
},
,'html');
});
为了让studentprofile.jsp
显示,需要避免使用$.post
,可以创建一个表单,然后提交表单:
$("#loginBtn").click(function() {
var form = document.createElement("form");
document.body.appendChild(form);
$(form).append("<input type='hidden' name='username' value='"+$("#username").val()+"'>");
$(form).append("<input type='hidden' name='password' value='"+$("#password").val()+"'>");
form.action="http://localhost:8080/NewDesignV1/login.action";
form.method="post";
form.submit();
$(form).remove();
});
我是一名优秀的程序员,十分优秀!