什么是 AJAX ?

2016-11-09  本文已影响0人  没梦想的咸鱼丶

一.什么是 AJAX ?

AJAX = 异步 JavaScript 和 XML。
AJAX 是一种用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。
有很多使用 AJAX 的应用程序案例:新浪微博、Google 地图等等。

一. AJAX - 创建 XMLHttpRequest 对象
所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象。

创建 XMLHttpRequest 对象的语法:
XMLHTTP = new XMLHttpRequest();
老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象:
XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");

为了应对所有的现代浏览器,包括 IE5 和 IE6,请检查浏览器是否支持 XMLHttpRequest 对象。如果支持,则创建 XMLHttpRequest
对象。如果不支持,则创建 ActiveXObject :

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

二. AJAX - 向服务器发送请求

读取test1.txt文本

xmlhttp.open("GET","test1.html",true);
xmlhttp.send();

方法 描述

open(method,url,async) 规定请求的类型、URL 以及是否异步处理请求。

send(string) 将请求发送到服务器。

xmlhttp.open("GET","test1.html",true);
xmlhttp.send();
xmlhttp.open("GET","demo_get.asp?t=" + Math.random(),true);
xmlhttp.send();
xmlhttp.open("POST","test1.html",true);
xmlhttp.send();
xmlhttp.open("POST","test1.html",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname=Bill&lname=Gates");

异步 - True 或 False?

xmlhttp.open("GET","test1.html",true);
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","test1.html",true);
xmlhttp.send();

三. AJAX - 服务器响应

document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

四. AJAX - onreadystatechange 事件

上一篇 下一篇

猜你喜欢

热点阅读