zoukankan      html  css  js  c++  java
  • AJAX学习——什么是AJAX

    一,什么是AJAX?

      ajax并非是编程语言。

      Ajax仅仅是组合了:

        浏览器内部创建的xmlHttpRequest对象(从web服务器请求数据)

        javascript 和HtmlDom(显示或者使用数据)

    二,ajax的好处?

      使用AJAX可以不刷新更新页面

      在页面加载后从服务器请求数据

      在页面加载后从服务器接收数据

      在后台向服务器发送数据

    <!DOCTYPE html>
    <html>
    
    <body>
        <div id="demo">
            <h1>XMLHttpRequest对象</h1>
            <button type="button" onclick="loadDoc()">修改内容</button>
        </div>
    </body>
    
    </html>
    <script>
        function loadDoc() {
            //创建一个请求对象
            var xhttp = new XMLHttpRequest();
            xhttp.onreadystatechange = function() {
                if (this.readyState == 4 && this.status == 200) {
                    document.getElementById("demo").innerHTML = this.responseText;
                }
            };
            //规定请求
            xhttp.open("GET", "javaScriptTest/example/js/ajax_info.txt", true);
            //发送请求
            xhttp.send();
        }
    </script>

    三,ajax的工作过程?

         

    1. 网页中发生一个事件(如页面加载,按钮点击)
    2. 由javascript来创建XMLRequest对象
    3. XMLRequest对象向web服务器发送请求
    4. 服务器处理请求
    5. 服务器将处理的结果返回给网页
    6. 由JavaScript来读取响应
    7. 由JavaScript来执行正确的动作(如更新页面)

    四,Ajax的核心?

      Ajax的核心是XMLHttpRequest对象,所有的现代浏览器都支持XMLHttpRequest对象。该对象用于同服务器交换数据,也意味者可以更新网页的部分类容,而不是重新加载整个页面。

    创建XMLHttpRequest对象?

      有两种方法?

      var xhttp=new XMLHttpRequest();

      var xhttp=new ActiveXObject("Microsoft.XMLHTTP");(老版本使用)

      为了应对所有的浏览器,请先检查浏览器是否支持XMLHttpRequest对象,如果支持,就创建XMLHttprequest对象,如果不支持该对象就创建ActiveX对象,

    var xhttp;
    //如果浏览器支持XMLHttpRequest对象
    if (window.XMLHttpRequest) {
        xhttp = new XMLHttpRequest();
        } else {
        // code for IE6, IE5
         xhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

      跨域访问:

      由于安全原因,现代浏览器不许进行跨域访问,这意味者加载的网页和XML文件必须在同一台服务器上。

      XMLHttpRequest对象的方法:

    方法 描叙
    new XMLHttpRequest() 创建新的XMLHttpRequest对象
    abort() 取消当前的请求
    getAllResponseHeaders() 返回头部信息
    getResponseHeader() 返回特定的头部信息
    open(Method,url,async,user,psw)

    请求的规则:

      Method:请求的方式,get,post

      url:请求的路径,由于浏览器的安全,只能访问同一台服务器上的数据

      async:是否可异步true,false

      user:可选的用户名

      psw:可选的密码

      

      XMLHttpRequest对象的属性

    属性 描叙
    readyStatus

    用来保存XMLHttpRequest的状态

            0:请求没有初始化

            1:服务器连接已经建立

            2:服务器请求已收到

            3:正常处理请求

            4:请求已完成响应已就绪

    onreadystatechange

    定义当readyStatus属性发生改变的时候调用的函数

    responseTest

    以字符串的形式返回数据

    responseXML

    以XML的形式返回响应的数据

    status

    返回请求的状态号

      200:“OK”

      403:"forbidden

      404:“not found"

    statusTest

    返回状态的文本,如”OK“,"NOT Found"

  • 相关阅读:
    poj1459(多源点网络流)
    poj 2480
    poj1850和poj1496(组合数)
    poj3252(组合数)
    hdu1452(逆元)
    因子和与因子个数
    poj 2478(欧拉函数打表)
    p3807(lucas定理)
    F-有趣的数字(组合数+逆元)
    《Java并发编程的艺术》Java并发机制的底层实现原理(二)
  • 原文地址:https://www.cnblogs.com/zhilili/p/12785357.html
Copyright © 2011-2022 走看看