您的位置:首页 > 理论基础 > 计算机网络

Js中的Ajax XMLHttpRequest的创建

2012-08-19 22:40 549 查看
Jsp页面

<script type="text/javascript">

 var XMLHttp

 function createXMLHttpRequest() {

  if (window.XMLHttpRequest) {

   //针对FireFox,Mozillar,Opera,Safari,IE7,IE8

   XMLHttp = new XMLHttpRequest();

   //针对某些特定版本的mozillar浏览器的BUG进行修正

   if (XMLHttp.overrideMimeType) {

    XMLHttp.overrideMimeType("text/xml");

   }

  } else if (window.ActiveXObject) {

   //针对IE6,IE5.5IE5

   XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");

  }

 }

 function show() {

  var name = document.getElementById("name");

  var pwd = document.getElementById("pwd");

  if (name == "") {

   alert("请输入用户名");

   return false;

  } else if (pwd == "") {

   alert("请输入密码");

   return false;

  } else {

   doAjax();

  }

 }

 function doAjax() {

  createXMLHttpRequest();

  var name = document.getElementById("name").value;

  var pwd = document.getElementById("pwd").value;

  if (XMLHttp != null) {

   //注册回调函数不要括号(会把函数的返回值注册上的这是错误的)

   XMLHttp.onreadystatechange = callback;

   //设置连接信息

   //http请求方式,请求url地址 异步还是同步true表示异步

  // XMLHttp.open("GET", "servlet/Ajaxservlet?name=" + name + "&pwd="

   //  + pwd, true);

   XMLHttp.open("POST","servlet/Ajaxservlet",true);

   //XMLHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");

   //XMLHttp.send("name=" + name + "&pwd="

   // + pwd);

   

   //发送数据开始和服务器进行数据交互

   //XMLHttp.send(null);

   //同步方式下send这句话会在服务端数据回来后才执行完

   //异步方式下send 这句话会立即执行完

  } else {

   alert("不能创建对象实例");

  }

 }

 function callback() {

  //判断对象的交互是否完成

  if (XMLHttp.readyState==4) {

   //判断http交互

   if (XMLHttp.status==200) {

    var sobj = document.getElementById("login");

    var str = XMLHttp.responseText;

    if (str !== 0) {

    

     var c = document.getElementById("error").innerHTML = "用户名或密码错误"; 

     alert(c);

    } else {

     

    }

   }

  }

 }

</script>

 

 

servllet页面

  response.setContentType("text/xml");

  

  PrintWriter out = response.getWriter();

  IUsersBiz  biz = new UsersBizImpl();

  Users user = new  Users();

  String name = request.getParameter("name");

  String pwd = request.getParameter("pwd");

  user.setName(name);

  user.setPwd(pwd);

  try {

   Users u  = biz.select(user);

   if(u==null){

    out.print("dfd");

   }

   

  } catch (Throwable e) {

   // TODO Auto-generated catch block

   e.printStackTrace();

  }finally{

   if(out!=null){

    out.flush();

    out.close();

   }

  }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息