Ajax学习

Ajax框架基本流程:初始化对象-->发送请求-->服务器接受-->服务器返回-->客户端接受-->页面刷新。(异步进行)
1、初始化对象:(浏览器对XMLHttpRequest对象实例化不一样)
   if (window.XMLHttpRequest) { // Mozilla, Safari, ...
      http_request = new XMLHttpRequest();
   } else if (window.ActiveXObject) { // IE
      http_request = new ActiveXObject("Microsoft.XMLHTTP");
   }
2、指定响应处理函数
   接下来要指定当服务器返回信息时客户端的处理方式。只要将相应的处理函数名称赋给
   XMLHttpRequest 对象的onreadystatechange 属性就可以了。比如:
   http_request.onreadystatechange = processRequest;
   http_request.onreadystatechange = function() {};
3、发出 HTTP 请求
   http_request.open('Get/Post/Head', '目标url', true);
  http_request.send(null);
4、处理服务器返回的信息
   if (http_request.readyState == 4) {
     // 信息已经返回,可以开始处理
   } else {
     // 信息还没有返回,等待
   }
   if (http_request.status == 200) {
     // 页面正常,可以开始处理信息
   } else {
     // 页面有问题
   }
总结:
    <script language="javascript">
      var http_request = false;
      function send_request(url) {//初始化、指定处理函数、发送请求的函数
         http_request = false;
        //开始初始化XMLHttpRequest 对象
         if(window.XMLHttpRequest) { //Mozilla 浏览器
            http_request = new XMLHttpRequest();
          if (http_request.overrideMimeType) {//设置MiME 类别
              http_request.overrideMimeType("text/xml");
          }
        }else if (window.ActiveXObject) { // IE 浏览器
            try{
             http_request = new ActiveXObject("Msxml2.XMLHTTP");
          } catch (e) {
             try{
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
             } catch (e) {}
          }
        }
        if (!http_request) { // 异常,创建对象实例失败
            window.alert("不能创建XMLHttpRequest 对象实例.");
          return false;
        }
        http_request.onreadystatechange = processRequest;
        // 确定发送请求的方式和URL 以及是否同步执行下段代码
         http_request.open("GET", url, true);
        http_request.send(null);
     }
     // 处理返回信息的函数
      function processRequest() {
        if (http_request.readyState == 4) { // 判断对象状态
             if (http_request.status == 200) {
              // 信息已经成功返回,开始处理信息
                alert(http_request.responseText);
           } else { //页面不正常
                alert("您所请求的页面有异常。");
           }
        }
    }
</script>

你可能感兴趣的:(Ajax,浏览器,Microsoft,IE,Safari)