如何解决使用Java脚本调用函数并从Servlet获取返回值
我有一个jsp,可以让用户输入其帐户名并提交以重置其密码。当用户单击“重置”按钮时,jsp将弹出警报,提示用户帐户密码已设置为xxxxx。但是当测试并提交用户名时,警报不会显示或显示,但为空且没有文本。我认为问题在于脚本在从servlet获取返回数据(警报字符串)之前运行。我尝试用不同的方式编写它,但仍然无法做到。是否可以从servlet调用并获取返回值到js函数?
这是我的jsp文件
<form id="sky-form4" class="log-reg-block sky-form"action="forget" method="post">
<h2>Reset Your Password</h2>
<div class="login-input reg-input">
<section>
<label class="input">
<input type="text" name="username" placeholder="Username" class="form-control">
</label>
</section>
</div>
<button onclick="myFunction()" type="submit" id="result">Reset Password </button>
</form>
我的js
<script>
function myFunction() {
if (${requestScope.check} === 1) {
alert(${requestScope.alert});
}
}
</script>
我的Servlet文件
protected void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException {
String username = req.getParameter("username");
UserService u = new UserService();
int check =0;
String a = "";
if (u.resetPassword(username)) {
check = 1;
a = "password has been reset to 123";
req.setAttribute("alert",a);
req.setAttribute("check",check);
resp.sendRedirect(req.getContextPath() + "/login");
} else {
a = "failed";
req.setAttribute("alert",a);
req.getRequestDispatcher(Constant.Path.FORGET).forward(req,resp);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。