什么是Ajax
Ajax=异步JavaScript和Xml
可以用来快速的创建动态网页的技术
通过在后台与服务器进行少量的数据交换,可以使得网页实现异步数据的更新
这样的作用:不需要网页在重新加载的情况下,也可以对于网页的某部分进行更新。
浏览器:事件发生时,创建XMLHttpRequest对象,并发送HttpRequest
通过Internet
服务器:处理浏览器传送的HttpRequest,创建相应并将数据返回浏览器
通过Internet
浏览器:使用JS处理被放回的数据,并更新页面的内容
Ajax基于现有的Internet技术
Ajax基于现有的Internet标准,并且联合使用他们
- XMLHttpRequest对象(异步的与服务器交换数据)
- JavaScript/DOM(信息的显示/交互)
- CSS(定义数据的样式)
- XML(作为数据转换的格式)
创建XMLHttpRequest对象
XMLHttpRequest对象用于在后台与服务器交换数据,这意味着可以再不重新加载整个网页的情况下,对网页的某部分进行更新
创建XMLHttpRequest对象
创建XMLHttpRequest对象:
variable=new XMLHttoRequest();
如果电脑不支持这种创建对象的方法的话,使用:
variable=new ActiveXObject(“Microsoft.XMLHTTP”);
向服务器发送请求:
xmlhttp.open(“GET”,“ajax_info.txt”,true);
xmlhttp.send();
使用到的open与send方法
- open方法:
- 规定请求的method类型(post和get)
- url文件在服务器上的位置
- async,选择是异步还是同步进行更新
- send
- string:仅用于post请求
这其中:post与get的区别是:get的速度更快,但是无法传送大量数据,是由数据限制的,而且post在发送数据的时候稳定可靠
实例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script>
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{
// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
xmlhttp=new XMLHttpRequest();
}
else
{
// IE6, IE5 浏览器执行代码
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","/try/ajax/ajax_info.txt",true);
xmlhttp.send();
}
</script>
</head>
<body>
<div id="myDiv"><h2>使用 AJAX 修改该文本内容</h2></div>
<button type="button" onclick="loadXMLDoc()">修改内容</button>
</body>
</html>
使用Ajax,可以改变上述代码中的文字
原理是,点击按钮,调用onclick函数的loadXMLDoc方法,这个方法写在页面头部的script中,
学习自runoob.com