Ajax的属性方法事件以及简单案例

AJAX入门及简介

AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML)。

AJAX 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。

通过 AJAX,您的 JavaScript 可使用 JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信。通过这个对象,您的 JavaScript 可在不重载页面的情况与 Web 服务器交换数据。

AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。

AJAX 可使因特网应用程序更小、更快,更友好。

AJAX 是一种独立于 Web 服务器软件的浏览器技术。

AJAX - 浏览器支持

AJAX 的要点是 XMLHttpRequest 对象。

不同的浏览器创建 XMLHttpRequest 对象的方法是有差异的。

IE 浏览器使用 ActiveXObject,而其他的浏览器使用名为 XMLHttpRequest 的 JavaScript 内建对象。

function GetXmlHttpObject()
{
  var xmlHttp=null;
  try
    {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
    }
  catch (e)
    {
    // Internet Explorer
    try
      {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
    catch (e)
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    }
  return xmlHttp;
}

属性

  1. readonly short readyState(只读的short类型)

    State NameDescription
    0 Uninitialized XMLHttpRequest刚刚创建,或者刚调用了abort()方法。
    1 Open调用了XMLHttpRequest的open方法,但还没有调用send方法。请求还没有发出
    2Sentsend方法已经调用,数据已经提交到服务器,但没有任何响应
    3ReceivingXMLHttpRequest收到了所有的响应消息头,但正文还没有完全收到
    4LoadedXMLHttpRequest收到了所有的响应消息头,但正文还没有完全收到
  2. responseText:类型string,只读。

    作用:存放着服务器返回的响应正文内容(文本内容).

  3. responseXML:类型Document,只读.

    作用:存放着服务器返回的响应正文内容(XML内容)

  4. status:类型short,只读

    作用:服务器响应状态码

  5. statusText:类型string,只读

    作用:服务器响应码描述

方法

  1. void abort():取消。回到最出始的状态。

  2. String getAllResponseHeaders():获取所有的响应消息头。用逗号分隔的。

  3. String getResponseHeader(String headerName):获取指定的响应消息头的值。

  4. void open(String method,String url,boolean isAnsy);建立与服务器的链接。

    method:请求方式 url:请求的地址 isAnsy:是否是异步的。默认是异步的

  5. void send(String data):向服务器发送请求正文

  6. void setRequestHeader(String headerName,String value):设置请求消息头。

事件

  1. onreadystatechange,当XMLHttpRequest对象的readyState发生变化时,都会调用onreadystatechange指定的方法。

js实现ajax的简单案例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>js实现ajax</title>
        <script type="text/javascript">
            //声明核心对象
            var xmlHttp = GetXmlHttpObject();
            window.onload = function() {
                var dom = document.getElementById("btn");
                dom.onclick = function() {
                    //1.创建核心对象      
                    xmlHttp = GetXmlHttpObject();
                    //绑定函数
                    xmlHttp.onreadystatechange = fn;
                    //打开链接
                    xmlHttp.open("get", "ajax.html", true);
                    //发送
                    xmlHttp.send();
                }
            }
            function fn() {
                if (xmlHttp.readyState == 4) { // 4 = "loaded"
                    if (xmlHttp.status == 200) { // 200 = "OK"
                        document.getElementById("dv").innerHTML = xmlHttp.responseText;
                    } else {
                        alert("Problem retrieving data:" + xmlHttp.statusText);
                    }
                }
            }
            function GetXmlHttpObject() {
                var xmlHttp = null;
                try {
                    // Firefox, Opera 8.0+, Safari
                    xmlHttp = new XMLHttpRequest();
                } catch (e) {
                    // Internet Explorer
                    try {
                        xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
                    } catch (e) {
                        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                    }
                }
                return xmlHttp;
            }
        </script>
    </head>

    <body>
        <button id="btn">阿贾克斯ajax</button>
        <div id="dv"></div>
        <pre>
            1.创建Ajax流程
                *创建核心对象xmlHTTPRequest
                *绑定函数
                *打开连接
                *发送数据
                *处理回调函数
        </pre>
    </body>
    </html>

`

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值