gpt4 book ai didi

java - 在 jsp 上设置 Ajax 响应不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 06:39:14 24 4
gpt4 key购买 nike

过去几个小时我试图解决这个问题,但我不能。我使用jquery发送ajax请求并根据响应在jsp上设置数据。实际上我正在检查登录详细信息,因此如果登录失败,它会在标签上设置错误消息问题是错误消息设置几秒钟并删除我的意思是说错误消息设置几秒钟我希望如果登录失败,消息设置在标签上仍然用户输入有效的详细信息

提前致谢

这是我的代码

         LoginDemo.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link href="css/firstpage.css" rel="stylesheet" type="text/css" /><!-- <style> -->
<script src="js/jquery.min.js"></script>
<title>Insert title here</title>
<script>
$(document).ready(function(){
$("#submit").click(function(){
$.ajax({
type: "POST",
url: "AddInspServlet",
cache:false,
data: { userid: $('#username').val(), password: $('#password').val(),btn:$('#submit').val() },
success:function(data,textstaus){
alert("success:"+data);
if(data == "no"){
alert( document.getElementById("error").innerHTML);
document.getElementById("error").innerHTML= "UserName OR Password is incorrect";
alert( document.getElementById("error").innerHTML);

}else{
location.href = 'Home.jsp';

}

},
error:function(data){
alert("error"+data);
},
});
});
});

</script>
</head>
<body>
<form id="login" name="Loginform" method="post">
<h1><b>Log In</b></h1>
<fieldset id="inputs">
<input id="username" type="text" placeholder="Username" autofocus required>
<input id="password" type="password" placeholder="Password" required>
</fieldset>
<fieldset id="actions">
<input type="submit" id="submit" value="login">
<a href="">Forgot your password?</a>
</fieldset>
<label id="error" style="color: red;font: bolder; font-size: 18px;">
</label>
</form>
</body>

      AddInspServlet

这里我添加服务器执行并检索响应的代码

   if(btn.equals("login"))
{
System.out.println("***** login condition checking ******");
String password =request.getParameter("password");
UserVO v =op.loginCheck(username, password);
if(password.equals(v.getPassword()))
{
System.out.println("inside true condition");
HttpSession session = request.getSession();
session.setAttribute("userid",v.getUser_id());
session.setAttribute("username",v.getUsername());
session.setAttribute("user", v.getFirst_name()+" "+v.getLast_name());
session.setAttribute("roleid", v.getRole_id());
// response.sendRedirect("Home.jsp");
System.out.println("submitting data success fully");
out.print("yes");
}
else
{
System.out.println("false condition");
out.print("no");
}
}

最佳答案

去掉form标签。

通过在 form 标记中添加 type="submit"input 元素而不使用 action 属性,页面将重新加载。

或者您可以保留 form 标记并将 submit 按钮的类型更改为 type="button"。表单将不会被执行,页面也不会重新加载。

关于java - 在 jsp 上设置 Ajax 响应不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24906934/

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