什么是AJAX?
AJAX = 异步JavaScript 和 XML,它是一种用于创建快速动态网页的技术,通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新,这意味着可以不重新加载整个网页的情况下,对页面的某部分进行更新,传统的网页如果需要更新内容,必须加载整个页面,有很多AJAX的应用程序案例:新浪微博、Google地图、开心网等;
AJAX的工作原理
1.创建 XMLHttpRequest 对象
XMLHttpRequest 用于在后台与服务器交换数据,这意味着可以在不重新加载整个网页的情况下,对页面的某部分进行更新;
创建XMLHttpRequest 对象兼容代码:
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");
}
2.向服务器发送请求
xmlhttp.open('请求方式','请求地址-后台','异步还是同步');
xmlhttp.send();
请求方式:GET还是POST?
与POST相比,GET更简单也更快,并且在大部分情况下都能用。然而,在以下情况下,使用POST请求:
- 无法使用缓存文件
- 向服务器发送大量数据
- 发送包含未知字符的用户输入时
异步-true或false?
AJAX 指的是异步 JavaScript 和 XML,XMLHttpRequest 对象如果要用于 AJAX 的话,其 open() 方法的 async 参数必须设置为 true;
3.服务器响应
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
// 服务端返回的数据 xmlhttp.responseText
var oDiv = document.getElementById('div1');
// 服务端返回的是json格式 JSON.parse将json格式转成对象
var obj = JSON.parse(xmlhttp.responseText);
oDiv.innerHTML = obj.msg;
}
}