您的位置:首页 > 其它

AJAX介绍

2013-06-28 11:53 204 查看

官网地址:http://www.w3.org/TR/XMLHttpRequest/

1、AJAX是什么?

AJAX = Asynchronous JavaScript and XML(异步的JavaScript和XML);

AJAX不是一种新的编程语言,而是一种使用现有标准的新方法;

AJAX是与服务器交换数据并更新部分页面的艺术,在不重新加载整个页面的情况下。

AJAX是一种在无须重新加载整个页面的情况下,能够更新部分页面的技术。

AJAX是一种用于创建快速动态网页的技术。

传统的网页(不使用AJAX)如果需要更新内容,必须重载整个页面。

通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味着可以在不重新加载整个页面的情况下,对页面的某部分进行更新。

Google Suggest

在 2005 年,Google 通过其 Google Suggest 使 AJAX 变得流行起来。

Google Suggest 使用 AJAX 创造出动态性极强的 web 界面:当您在谷歌的搜索框输入关键字时,JavaScript 会把这些字符发送到服务器,然后服务器会返回一个搜索建议的列表。

2、从一段源代码开始

Html代码:

<div id="resText"><h2>这是结果显示地</h2></div>

<button type="button" onclick="loadByGet();">LoadByGet</button>
<button type="button" onclick="loadByPost();">LoadByPost</button>
<button type="button" onclick="loadSync();">LoadSync</button>


Js代码:

//创建一个XMLHttpRequest对象
function getXmlHttpRequest() {
var xmlHttpRequest = null;
//IE5 IE6是以ActiveXObject的方式引入XMLHttpRequest对象的
if (window.ActiveXObject) {
xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
//除IE5 IE6以外的浏览器XMLHttpRequest是Window的子对象
} else if (window.XMLHttpRequest) {
xmlHttpRequest = new XMLHttpRequest();//实例化一个XMLHttpRequest
}
return xmlHttpRequest;
}

function loadByGet() {
var xmlHttpRequest = getXmlHttpRequest();
//使用get方式,同步获取数据
xmlHttpRequest.open("GET", "/Service/XmlHttpRequest.ashx?method=Get", false);
xmlHttpRequest.send();

document.getElementById("resText").innerHTML = xmlHttpRequest.responseText;
}
function loadByPost() {
var request = getXmlHttpRequest();
//使用post方式,同步获取数据
request.open("POST", "/Service/XmlHttpRequest.ashx", false);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.send("method=Post");

document.getElementById("resText").innerHTML = request.responseText;
}

//异步获取数据
function loadSync() {
var xmlHttp = getXmlHttpRequest();
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
document.getElementById("resText").innerHTML = xmlHttp.responseText;
}
};
xmlHttp.open("GET", "/Service/XmlHttpRequest.ashx?method=Get", true);
xmlHttp.send();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: