您的位置:首页 > Web前端 > JQuery

JQuery——Ajax之实例开发步骤

2017-10-26 10:07 190 查看
Ajax实例开发步骤:用Ajax完成一个简单的查询客服人员状态的例子

1、新建HTML或JSP页面;

2、在页面中写出创建XMLHttpRequest对象的方法;

3、写出事件响应方法,用创建的XMLHttpRequest对象发出异步Ajax请求;

4、创建Servlet响应请求;

5、在页面完成回调方法,处理服务器端响应,改变页面效果。

1、新建HTML或JSP页面

<body>

    <a>请输入客服人员姓名:</a>

    <input id="sName" onblur="getStatus()">

    <span id="status"></span>

</body>

2、在页面中写出创建XMLHttpRequest对象的方法

varxhr;

function createXHR(){

        /* window.ActiveXObject

        判断浏览器是否支持ActiveX控件,如果浏览器支持ActiveX控件可以利用

        var xml=new ActiveXObject("Microsoft.XMLHTTP");

        创建XMLHttpRequest 对象(这是在IE7以前的版本中);

        在较新的IE版本中可以利用 var xml=new ActiveXObject("Msxml2.XMLHTTP")的形式创建       XMLHttpRequest对象;

        而在IE7及非IE浏览器中可以利用var xml=new XMLHttpRequest()创建XMLHttpRequest对象。  */

  if(window.ActiveXObject){

  xhr = newActiveXObject("Microsoft.XMLHTTP");

  }elseif(window.XMLHttpRequest){

  xhr = newXMLHttpRequest();

  }else{

  alert("can'tcreatexhr object!");

  }}

3、写出事件响应方法,用创建的XMLHttpRequest对象发出异步Ajax请求

function getStatus(){

  varsName =document.getElementById("sName").value;

  createXHR();

 

  xhr.onreadystatechange=getStatusCallback;

  xhr.open("get","/Ajax/servlet/CustomerServiceServlet?sName="
+ sName);

  xhr.send(null);

}

4、创建Servlet响应请求

public void doGet(HttpServletRequest
request,HttpServletResponse response)

  throwsServletException,IOException {

  response.setContentType("text/html");

  PrintWriter out =response.getWriter(); 

  intiRandom = (int)(Math.random()*10);

  if(iRandom % 2 == 1){

  out.print("yes");

  }elseif(iRandom % 2 == 0){

  out.print("no");

  }

  out.flush();

  out.close();

}

5、在页面完成回调方法,处理服务器端响应,改变页面效果

function getStatusCallback(){

   if(xhr.readyState == 4){

       if(xhr.status == 200){

            var ret =xhr.responseText;

            var span =document.getElementById("status");

            if(ret.indexOf("yes")> -1){

                span.innerHTML = "<fontcolor='red'><b>online</b></font>";

            }else{

                span.innerHTML = "<fontcolor='green'><b>outline</b></font>";

            }

       }

   }

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