关于jquery 访问servlet 页面无法惊醒跳转

js代码:$(document).ready(function(){$("#user_login").click(function(){varusername=$("#u... js代码:
$(document).ready(function(){
$("#user_login").click(function(){
var username=$("#user_name").val();
var password=$("#user_password").val();
//alert(username1);
//var username=encodeURI(encodeURI(username1));
//var password=encodeURI(encodeURI(password1));

if(username==""||password==""){
alert("用户名密码不能为空");
$("#user_name").val("");
$("#user_password").val("");
return false;
}
$.ajax({
type:"post",
url:"LoginSer",
//dataType:"json",
data:{"username":username,"password":password},
success:function(data){
alert(1);
if(data=='success'){
//alert(1);
location.href="success.jsp";
}else {
location.href="error.jsp";
}
}
})
})

servlet代码:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("utf-8");
//String uname1=request.getParameter("user_name");//使用action传递
//String passwd1=request.getParameter("user_password");
String uname=request.getParameter("username");
String passwd=request.getParameter("password");
//String uname=URLDecoder.decode(uname1,"utf-8");
//String passwd=URLDecoder.decode(passwd1,"utf-8");
//System.out.println(uname);

LoginBean user=new LoginBean();
user.setUsername(uname);
user.setPassword(passwd);
LoginCheck cku=new LoginCheck();
boolean bool=cku.checkUsre(user);
//session
HttpSession session=request.getSession(true);
session.setAttribute("username", user.getUsername());

PrintWriter out = response.getWriter();//定义out

String forward;
if(bool){
forward="success";
out.println(forward);
System.out.print("success");
}else{
forward="error";
out.println(forward);
}
//RequestDispatcher rd=request.getRequestDispatcher(forward);//页面跳转
//rd.forward(request,response);
}
现在的情况是无法进行ajax的success操作不知道为什么,只把用户的数据显示在地址栏中,页面无法跳转
展开
 我来答
旁明煦0IB
2014-09-04 · TA获得超过352个赞
知道小有建树答主
回答量:245
采纳率:100%
帮助的人:99.3万
展开全部
1、首先确保ajax的url: "LoginSer"是否能访问、是否在web.xml中正确配置LoginSer的它的mapping
2、打开浏览器看看Ajax发出的请求状态,是否出现404。
3、如果ajax能够请求,看看是否调用了servlet LoginSer的doPost方法,请逐步调试。

你直接在地址栏输如 *****/LoginSer?username=admin&password=123456(这样访问的是doGet方法,你可以在doGet里面直接调用doPost),看看是什么反应。
追问
我重写了个简单的跳转是成功的,不知道为什么这个页面的跳转输入用户名和密码都会显示在地址栏中,我用的是post 方法,按理来说应该跳到url的界面中去
追答
点击按钮你是通过ajax提交登录信息,我看你type:"post",怎么可能登录信息会出现在地址栏里,是否按钮时间触发了登陆form的提交?
freewarmhouse
2014-09-04 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:123
采纳率:0%
帮助的人:68.9万
展开全部
明显ajax url访问不是这么写的哦,你能访问到你的远程方法?多F12下看看控制台。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式