理解ajax

    技术2022-05-20  42

    ajax是基于javascript和xml的,如果每次都是表单提交,两次提交的信息可能大部分相同,服务器返回一个新的页面,整个页面刷新。ajax应用向服务器发送并取回必需的数据,在不更新整个页面的前提下维护。

    缺点是破坏浏览器后退按钮的行为。因为浏览器仅能记录下历史记录中的静态页面,通过后退按钮无法取消前一次操作。

    ajax调用的过程:

     

    ①根据不同浏览器创建XMLHTTPRequest对象

     http_request = false; //Mozilla浏览器 if(window.XMLHttpRequest) { http_request = new XMLHttpRequest();......} // IE浏览器

    else if (window.ActiveXObject) { http_request = new ActiveXObject("Microsoft.XMLHTTP"); ......} ②发送请求 http_request.open(method, url, async); http_request.send(content);

     ③服务器响应

      if (http_request.readyState == 4) {//收到了完整的服务器响应      if (http_request.status == 200) { //状态正常       ......      else {          alert("获取下级机构列表错误,错误代码:" + http_request.status); //页面不正常      }   }

       ④处理从服务器得到的数据

           tableStr = http_request.responseText;或tableStr = http_request.responseXML;       if(tableStr.length > 3){

                 newDIV.innerHTML = tableStr;

           }

    注:

    readyState反应的是请求的状态

    0.未初始化,httpRequest已创建但还没有被初始化(没有调用open方法)

    1.初始化,尚未调用send方法

    2.载入完成,已调用send方法,http响应状态和头部还不可用

    3.交互,已经接受了部分数据,但状态和响应头部还不完全可用

    4.完成,接受到全部数据

    status

    200 正常返回

    404 请求页面不存在

    500 服务器异常


    最新回复(0)