ajax问题,我的代码没有问题啊 可是实现的效果不对,给位看一看哈

sky我的世界 2016-07-12 04:22:59
Login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
function createXmlHttpRequest(){
var XMLHttp=null;
if(window.XMLHttpRequest)//支持IE7+、FF、chrome、opera、safari
{
XMLHttp=new XMLHttpRequest();//ajax核心对象
}
else//IE5、6
{
XMLHttp=new ActiveXObject('Microsoft.XMLHTTP');//ajax核心对象
}
return XMLHttp;
}

function checkUser(){
//获取ajax对象
var xhr=createXmlHttpRequest();
//设置回调函数
//xhr.onreadystatechange=callback;
//获取account文本的值
var uname=document.getElementById("username").value;
alert(uname);
//发送请求
var url="Ajax/LoginServlet?uname="+uname;
xhr.open("GET",url,true);
xhr.onreadystatechange=function(){
alert("进来了?");
if(xhr.readyState==4 && xhr.status==200){
//表示等待响应完毕
var text=xhr.responseText;
if(text=="true"){
document.getElementById("mess_error").innerHTML=text;
alert(text);
}else{
document.getElementById("mess_error").innerHTML="验证出错";
}
}
};
xhr.send(null);
}
</script>
account<input type="text" name="username" id="username"/><br/>
password<input type="password" name="password" id="password"/><br/>
<input type="button" value="登录" onclick="checkUser()"/>
<span id="mess_error"></span>
</body>
</html>

package com.tao.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginServlet extends HttpServlet{

/**
*
*/
private static final long serialVersionUID = -4018241389215773714L;

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
this.doPost(request, response);
}

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
String oUsername=request.getParameter("uname");
PrintWriter out=response.getWriter();
out.print(oUsername);
if("ct".equals(oUsername)){
out.println("true");
}else{
out.println("false");
}
out.close();

}

}
...全文
203 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
anakin_feng 2016-07-13
  • 打赏
  • 举报
回复
引用 7 楼 qq_34550787 的回复:
[quote=引用 6 楼 Molly_1994 的回复:] [quote=引用 4 楼 qq_34550787 的回复:] [quote=引用 2 楼 u010087908 的回复:] 什么地方不对, 你不能描述再清楚一些么?
输入ct不应该提示验证错误啊[/quote] 你说这个对不对啊,那你后台先打印看看获取的值是不是有问题啊[/quote]就是有问题啊后台输不出来,你看看哪里出错了[/quote] 后台输不出来?你是说System.out.println()输不出来?那你看看有没有进入这个方法。
sky我的世界 2016-07-13
  • 打赏
  • 举报
回复
引用 6 楼 Molly_1994 的回复:
[quote=引用 4 楼 qq_34550787 的回复:] [quote=引用 2 楼 u010087908 的回复:] 什么地方不对, 你不能描述再清楚一些么?
输入ct不应该提示验证错误啊[/quote] 你说这个对不对啊,那你后台先打印看看获取的值是不是有问题啊[/quote]就是有问题啊后台输不出来,你看看哪里出错了
anakin_feng 2016-07-13
  • 打赏
  • 举报
回复
引用 4 楼 qq_34550787 的回复:
[quote=引用 2 楼 u010087908 的回复:] 什么地方不对, 你不能描述再清楚一些么?
输入ct不应该提示验证错误啊[/quote] 你说这个对不对啊,那你后台先打印看看获取的值是不是有问题啊
sky我的世界 2016-07-13
  • 打赏
  • 举报
回复
引用 3 楼 Molly_1994 的回复:
怎么了,我试了下没问题啊
不是吧,我输入ct不应该提示验证错误啊
sky我的世界 2016-07-13
  • 打赏
  • 举报
回复
引用 2 楼 u010087908 的回复:
什么地方不对, 你不能描述再清楚一些么?
输入ct不应该提示验证错误啊
Fireflyi 2016-07-13
  • 打赏
  • 举报
回复
ajax这种基础问题 断点调试就可以了
NANU-NANA 2016-07-13
  • 打赏
  • 举报
回复
刚才粗略看了一下你的代码,你这个是timing problem。 ajax是异步操作,不是同步。 你向后台发送了请求,后台处理了你这个请求,这是需要时间的。在后台处理结果返回之前,程序已经执行验证了。 换句话说,程序执行验证的时刻,ajax还没返回结果呢。 所以,你应该等ajax返回success后,再进行验证。
anakin_feng 2016-07-12
  • 打赏
  • 举报
回复
怎么了,我试了下没问题啊
NANU-NANA 2016-07-12
  • 打赏
  • 举报
回复
什么地方不对, 你不能描述再清楚一些么?
sky我的世界 2016-07-12
  • 打赏
  • 举报
回复
应该没问题吧

81,092

社区成员

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

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