gpt4 book ai didi

java - 如何从 ajax post 重定向到 servlet 到 jsp?

转载 作者:太空宇宙 更新时间:2023-11-04 10:30:52 26 4
gpt4 key购买 nike

我正在为我们的系统进行登录,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();
});

关于java - 如何从 ajax post 重定向到 servlet 到 jsp?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50013364/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com