使用AJAX提交表单遇到的问题?

苦涩男人 2013-03-08 04:09:29
我是在loginServlet中处理的登录过程,1、如果用户名不存在或密码错误,则用户点击提交按钮时,页面实现无刷新提交并提示错误(这一点已经实现)。2、如果用户名跟密码匹配则实现页面跳转。但是我在servlet中设置了页面跳转(代码也确实执行),页面并无跳转,还是停留在登陆界面。
弄了半天也没弄明白,小弟初次使用AJAX,还望大家指导一下啊。谢谢。
//javascript中的响应函数
function processResponse() {
if (XMLHttpReq.readyState == 4) {
if (XMLHttpReq.status == 200) {
var res = XMLHttpReq.responseText;
document.getElementById("result").innerHTML = res;
} else {
window.alert("你请求的页面有异常");
}
}
}

//用户点击按钮时调用的函数
function userCheck() {
var username = document.loginform.username.value;
var password = document.loginform.password.value;
sendRequest("loginServlet?service=login&username=" + username
+ "&password=" + password);
}


//这是我的表单。
<form id="loginform" method="post" name="loginform">
<table>
<tr>
<td>用户名:</td>
<td>
<input name="username"id="username"></td>
</tr>
<tr>
<td>密 码:</td>
<td>
<input type="password" name="password" id="password"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="button" id="submit" value="登录" onclick="userCheck()">
</td>
</tr>
</table>
</form>


//loginServlet中的部分代码
int result = userdao.login(user);
if(result == -1)
{
out.println("<response>");
out.println("<result>" + "用户名不存在!" + "</result>");
out.println("</response>");
out.close();
}
else if(result == 0)
{
out.println("<response>");
out.println("<result>" + "用户密码错误!" + "</result>");
out.println("</response>");
out.close();
}
else if(result == 1)
{
HttpSession session = req.getSession();
session.setAttribute("username", username);
req.getRequestDispatcher("login_success.jsp").forward(req, resp);
}
...全文
107 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
苦涩男人 2013-03-08
  • 打赏
  • 举报
回复
嗯,在js中添加跳转链接就可以了。
Go 旅城通票 2013-03-08
  • 打赏
  • 举报
回复
不要再服务器端跳转,要在客户端设置location实现跳转

ajax不同浏览器,会知道页面跳转了,不管你跳转多少次,ajax得到的结果就是最后跳转到的页面

//javascript中的响应函数
function processResponse() {
if (XMLHttpReq.readyState == 4) {
if (XMLHttpReq.status == 200) {
var res = XMLHttpReq.responseText;
//////////////
if(res.indexOf("success")!=-1)location="loginServlet?service=login&username=" + document.loginform.username.value
else document.getElementById("result").innerHTML = res;
} else {
window.alert("你请求的页面有异常");
}
}
}


else if(result == 1)
{
HttpSession session = req.getSession();
session.setAttribute("username", username);
//req.getRequestDispatcher("login_success.jsp").forward(req, resp);
out.println("success");
out.close();
}

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧