设置jsp上的Ajax响应不起作用
Set Ajax response on jsp not working
过去几个小时我试图解决这个问题,但我不能。我正在使用jquery发送ajax请求,并根据响应在jsp上设置数据。实际上我正在检查登录细节如果登录失败它会在标签上设置错误信息问题是错误信息会设置几秒钟然后删除我的意思是错误信息会设置几秒钟如果登录失败信息会设置在标签上用户输入有效的详细信息
thanks in advance
我的代码
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"
。然后,表单将不会被执行,页面也不会重新加载。
如果你能更具体地说明问题就更好了。我想你的问题是标签显示几秒钟,然后消失。这是真的吗?然后尝试返回"false"在你的数据== "no"逻辑。
谢谢。
相关文章:
- 我的响应菜单在移动版中不起作用
- Ajax:Ajax响应中的链接不起作用
- 带有 AJAX 响应或 AJAX 响应的 IF 条件.响应.Text 不起作用
- 如何让Webworker真正响应,以及为什么setTimeout()不起作用
- 在表中显示ajax响应不起作用
- jquery在调整大小时响应不起作用
- angularjs不起作用的Json响应
- 响应式导航栏不起作用,品牌变得一团糟
- jquery.click()在Ajax 403响应后不起作用
- XML http 响应不起作用
- JQUERY响应不起作用
- Ajax JSON响应不起作用
- Mockjax响应不起作用
- 设置jsp上的Ajax响应不起作用
- 内联onclick事件对ajax响应不起作用
- HTML5画布响应不起作用
- 在Safari中,XML响应不起作用
- 引导导航栏响应不起作用
- 包含视口元后引导响应不起作用
- Jquery中的Javascript函数响应不起作用