• 原生Ajax实现异步交互


    1. 实现Ajax主要依靠XMLHttpRequest对象,所以首先要创建XMLHttpRequest对象
      function getXhr(){
         var xhr = null;
         if(window.XMLHttpRequest){
      //高版本浏览器
              xhr = new XMLHttpRequest;
         }else{
      //IE低版本浏览器
             xhr = new ActiveXObject("Microsoft.XMLHttp");
         }
         return xhr;
      }
      var xhr = getXhr();
    2. 使用open方法与服务器建立连接
      open(method, url, async);
      xhr.open('post', 'data_montor.php', true);
      xhr.open('get', 'data_montor.php?user = name', true);
      //method 表示get/post //url 表示请求的地址 //async 表示同步还是异步,async = true 异步(默认) //若将async设置为false,官方认为XMLHttpRequest就是实现异步交互的会进行警告
      //如果是get方法请求参数应跟在url之后,而不是通过send发送
    3. 客户端向服务器发送请求
      send(请求参数)方法
      //请求参数的格式   key = value
      xhr.send('user = xinyue')
      //注意:如果使用get方法,send不能向服务器发送请求数据,但是也不能忽略
      //需要写成 send(NULL); 然后请求数据应放在open方法中的Url之后
      //(详见上一步)
    4. 客户端接受服务器端的响应:使用onreadyStatechange 时间监听服务器的通信状态
      xhr . onreadystatechange  = function(){
          if(xhr.readyState == 4){
              if(xhr. status == 200){
                  var data = xhr.responseText;
      //HTML格式使用responseText接收服务器端的相应数据,解析过程比较复杂(拆串),拆串拼串极易出错
                  console.log(data);
              }
         }
      }

      readyState 得服务器端当前通信状态 : 
              0 服务器端尚未初始化
              1 正在发送请求
              2  请求完成
              3  请求成功,客户端正在接收服务器端的数据
              4  响应完成
      status :  1XX 信息类
                    2XX 成功
                    3XX 重定向
                    4XX 客户端错误
                    5XX 服务器端错误
                                                     

  • 相关阅读:
    第5章 语句(1)
    第6章 6.2 创建对象
    js考试题目相关
    第6章 6.3 继承
    第6章 面向对象 导论
    第6章 6.1 理解对象
    第5章 语句(2)
    第6章 面向对象 导论(javascript的面向对象)
    第6章 面向对象深入理解
    第3章 补充(图解JavaScript执行环境、作用域、闭包)
  • 原文地址:https://www.cnblogs.com/Auyuer/p/8532327.html
Copyright © 2020-2023  润新知