zoukankan      html  css  js  c++  java
  • AJAX之XMLHttpRequest

          AJAX(asynchronous Javascript And XML),是指一种创建交互式网页应用的网页开发技术。主要通过后台与服务器进行少量数据交换,实现异步更新。AJAX的核心是JavaScript对象XMLhttpRequest。

          XMLHttpRequest对象可以在不向服务器提交整个页面的情况下,实现局部更新网页。当页面全部加载完毕后,客户端通过该对象向服务器请求数据,服务器端接受数据并处理后,向客户端反馈数据。 XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。XMLHttpRequest 可以同步或异步返回 Web 服务器的响应,并且能以文本或者一个 DOM 文档形式返回内容。尽管名为 XMLHttpRequest,它并不限于和 XML 文档一起使用:它可以接收任何形式的文本文档。XMLHttpRequest 对象是名为 AJAX 的 Web 应用程序架构的一项关键功能。

          对于不同的浏览器,使用不同的方法来创建XMLHttpRequest对象。IE使用ActiveXObject,而其他浏览器使用名为XMLHttpRequest的javascript内建对象。要克服各个浏览器的差异,可以使用如下一段简单的代码:

    var XMLHttp=null;
    if (window.XMLHttpRequest)
    {
    XMLHttp=new XMLHttpRequest()
    }else if (window.ActiveXObject)
    {
    XMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
    }
          XMLHttpRequest五个状态:

            HTTP请求的状态,但一个XMLHttpRequest除此创建时,readyState属性的值从0开始,直到接收完整的HTTP响应,这个值增加到4,每一个状态都有一个相关联的非正式的名称,如下所示:

    状态 名称 描述
    0 Uninitialized 初始化状态,XMLHttpRequest对象已创建或已被abort()方法重置
    1 Open open()方法已调用,但是send()方法未调用。请求还没有被发送。
    2 Send Send()方法已调用,HTTP请求已发送到WEB服务器,未接收到响应
    3 Receiving 所有响应头部都已经接收到。响应体开始接收但未完成
    4 Loaded Http响应已完全接收
         注意事项:

          1.不同浏览器中,对象建立方式不同。

          2.设置回调函数时,不要在函数名后面加括号。

          3.Open方法最多有五个参数,其中前三个是必须的

          4.回调函数中,最好将判断readyState和status的两个if条件分开写。

          5.当前服务器端没有正确返回XML数据时,在javascript中使用responseXML的方式获取返回的xml数据对应的DOM对象时,FireFox和IE的结果是有差别的。
          刚刚接触AJAX,简单的从宏观上做个总结,在深一步的结束后,在做完善。如有错误,欢迎指出!!



    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    java接入钉钉机器人(带源码)
    使用java做一个能赚钱的微信群聊机器人(2020年基于PC端协议最新可用版)
    侠说java8--Stream流操作学习笔记,都在这里了
    Elasticsearch调优篇-慢查询分析笔记
    网络探测和抓包工具 wireshark
    window10远程ubuntu18.04
    springdataJPA mysql myisam innodb
    命令集
    java tmpdir 启动 kafka 命令行
    java jar 启动命令
  • 原文地址:https://www.cnblogs.com/lucari/p/4608551.html
Copyright © 2011-2022 走看看