AJAX求解。。。为什么调用不了servlet?
/*登录的AJAX*/functionlogin_ajax(username,password){/*将request对象清空*/request=null;/*执行AJA...
/* 登录的AJAX */
function login_ajax(username,password){
/* 将request对象清空 */
request = null;
/* 执行AJAX */
//1.创建请求对象XMLHttpRequest
if(window.ActiveXObejct){
request = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
request = new XMLHttpRequest();
}
//2.指定发送请求的目的URL
var url = "../userLoginServlet.do?uname=" + username + "&upwd=" + password;
alert(url); /* 这一句可以执行 */
//3.指定回调函数
request.onreadystatechange = login_ajax_return;
//4.打开请求,准备发送
request.open("GET",url,true);
//5.发送AJAX
request.send(null);
}
/* 登录AJAX的回调函数 */
function login_ajax_return(){
if(request.readyState == 4){
if(request.status == 200){
var respText = request.responseText;
if("false" != respText) {
location.href = "index.jsp";
}else{
$("#falseInfo").html("登录失败,用户名或密码错误!");
}
}
}
}
/* 登录时调用的servlet的doGet方法 */
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
HttpSession session = request.getSession();
System.out.println("aaa");
String username = request.getParameter("uname");
String password = request.getParameter("upwd");
User u = new User();
u.setUserName(username);
u.setUserPassword(password);
UserBiz ub = new UserBizImpl();
User user = null;
try{
user = ub.login(u);
}catch(Exception e){
e.printStackTrace();
}
if(null != user){
session.setAttribute("user", user);
session.setAttribute("username", user.getUserName());
out.println("true");
}else{
out.println("false");
}
out.flush();
out.close();
} 展开
function login_ajax(username,password){
/* 将request对象清空 */
request = null;
/* 执行AJAX */
//1.创建请求对象XMLHttpRequest
if(window.ActiveXObejct){
request = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
request = new XMLHttpRequest();
}
//2.指定发送请求的目的URL
var url = "../userLoginServlet.do?uname=" + username + "&upwd=" + password;
alert(url); /* 这一句可以执行 */
//3.指定回调函数
request.onreadystatechange = login_ajax_return;
//4.打开请求,准备发送
request.open("GET",url,true);
//5.发送AJAX
request.send(null);
}
/* 登录AJAX的回调函数 */
function login_ajax_return(){
if(request.readyState == 4){
if(request.status == 200){
var respText = request.responseText;
if("false" != respText) {
location.href = "index.jsp";
}else{
$("#falseInfo").html("登录失败,用户名或密码错误!");
}
}
}
}
/* 登录时调用的servlet的doGet方法 */
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
HttpSession session = request.getSession();
System.out.println("aaa");
String username = request.getParameter("uname");
String password = request.getParameter("upwd");
User u = new User();
u.setUserName(username);
u.setUserPassword(password);
UserBiz ub = new UserBizImpl();
User user = null;
try{
user = ub.login(u);
}catch(Exception e){
e.printStackTrace();
}
if(null != user){
session.setAttribute("user", user);
session.setAttribute("username", user.getUserName());
out.println("true");
}else{
out.println("false");
}
out.flush();
out.close();
} 展开
展开全部
直接运行servlet看能否调取,估计是地址写错了
追问
嗯,直接调就可以用,可我就不知道路径该怎么写了。
追答
实在不行在这里写完整路径,就是你直接调取成功的路径
//2.指定发送请求的目的URL
var url = "../userLoginServlet.do?uname=" + username + "&upwd=" + password;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
检查你的web.xml设置,确认你的serverlet可以正确访问。我觉得你的代码问题不大。调试一下看看吧。
追问
userLoginServlet
web.action.UserLoginServlet
userLoginServlet
/userLoginServlet.do
。。。我想说我调试了一个多小时了。。彻底没辙了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
路劲问题吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询