关于AJAX基础

AJAX全称为:Asynchronous JavaScript and XML,即异步的 JavaScript 和 XML。

顺便补充一下关于XML的知识

XML全称为:EXtensible Markup Language,即可扩展标记语言,它可以简化数据的存储和共享,通常用来传输和存储数据,与HTML相比,HTML被用来显示数据,而XML用来传输数据。


AJAX 不是新的编程语言,而是一种使用现有标准的新方法。AJAX 是一种与服务器交换数据并更新部分网页但不重新加载整个页面的技术。下面就介绍如何使用AJAX技术:

1.创建XMLHttpRequest对象

   语法:var xmlhttp=new XMLHttpRequest();

    在此需要注意一下以上方法只适用于IE7+、Firefox、Chrome、Safari 以及 Opera等现代浏览器,而IE5、IE6并不支持。

   所以为了处理兼容问题,我们采用以下处理兼容的写法

var xmlhttp;
if (window.XMLHttpRequest)
   {
       xmlhttp=new XMLHttpRequest();
   }
else
   {// code for IE6, IE5
       xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }

2.向服务器发送请求的方法:open()和send()方法。

   (1)open()方法

            规定请求的类型、URL、异步还是同步

            语法:open(method,url,true/false)

                         method-----请求的类型,get或者post

                         url----文件在服务器上的位置

                         true/false----true为异步,false为同步

   (2)send()方法

             将请求发送到服务器

3.服务器响应

     responseText属性----获得字符串形式的响应数据

     responseXML属性----获得XML形式的数据响应

4.AJAX中的onreadystatechange事件

    onreadystatechange是一个函数, 在readyState属性改变时就会调用该函数。

     readyState是存有XMLHttpRequest的状态,其值在0-4之间变化。

0请求未初始化
1服务器连接已建立
2请求已接收
3请求处理中
4请求已完成且响应已就绪

     status是XMLHttpRequest的状态,其值有两个:200和404

200OK,找到页面
404未找到页面

当readyState等于4且状态为200时,表示响应就绪

xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
       //此处写完成响应后要执行的事情
    }
  }


最后,举个例子,假如通过点击改变页面的值

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>点击按钮请求内容</title>
    <script>
        function LoadXMLDoc(){

            var xmlhttp;
            if(window.XMLHttpRequest)
            {
                xmlhttp=new XMLHttpRequest();
            }
            else
            {
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange= function () {
                if(xmlhttp.readyState==4&&xmlhttp.status==200)
                {
                    document.getElementById("content").innerHTML=xmlhttp.responseText
                }
            }
            xmlhttp.open("get","content.txt",true);
            xmlhttp.send();
        }
    </script>
</head>
<body>
<div id="content"><h1>AJAX简介</h1></div>
<button οnclick="LoadXMLDoc()">点击</button>
</body>
</html>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值