1.ajax原理:
ajax的原理简单来说通过XmlHttpRequest对象来向服务器发送异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。
这其中关键的一步是从服务器获得请求数据,要清除这个过程和原理。必须对XmlHttpRequest有所了解
XMLHttpRequest是一种支持异步请求的技术。也就是说javascript可以及时向服务器提出请求和处理响应,而不阻塞用户。达到无刷新的效果。
ajax最大的优点在于不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网特内容(转载)
2.XMLHttpRequest的属性
onreadystatechange 每次状态改变所触发事件的事件处理程序
responseText 从服务器进程返回数据的字符串形式
responseXML 从服务器进程返回的DOM兼容的文档数据对象
status 从服务器返回的数字代码。 常见的有200 (已就绪) 404(未找到)
readyState 对象状态值
“0”(未初始化)“1”(已初始化)“2”(发送数据)“3” (数据传送中) “4”(完成)。
3.创建XMLHttpRequest对象
var ajax_request=new XMLHttpRequest();
老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象:
var xmlhttp;
if (window.XMLHttpRequest)
{
// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
xmlhttp=new XMLHttpRequest();
}
else
{
// IE6, IE5 浏览器执行代码
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
4.向服务器发送请求
open(method,url,async)
method 定义了向服务器提交数据的类型 post/get
url 请求的url地址和传递的参数
async 传输方式 false为同步,true为异步
send(string) 将请求发送到服务器 string:仅用于POST请求
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
5.服务器响应
使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性来获取服务器的响应。
document.getElementById("box1").innerHTML = xmlhttp.responseText;