1. AJAX
1). 简介
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。
2). 工作原理
3). 使用
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript">
function loadXMLDoc() {
// 初始化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");
}
// 状态的改变调用
// 存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
// 0: 请求未初始化
// 1: 服务器连接已建立
// 2: 请求已接收
// 3: 请求处理中
// 4: 请求已完成,且响应已就绪
xmlhttp.onreadystatechange = function () {
// 获取请求头
var headers = xmlhttp.getAllResponseHeaders();
// 准备状态改变,响应状态,响应内容
var text = "readyState: " + xmlhttp.readyState + ", status:" + xmlhttp.status + ", text: " + xmlhttp.responseText;
document.getElementById('myDiv').innerHTML = headers + ", " + text;
}
// 参数1:GET、POST等请求
// 参数2:网络链接
// 参数3:是否异步
xmlhttp.open("GET", "https://mazaiting.github.io/demo.json", true);
// 设置请求头
// xmlhttp.setRequestHeader('Accept:text/plain');
// 发送请求
xmlhttp.send();
}
</script>
</head>
<body>
<h2>AJAX</h2>
<button type="button" onclick="loadXMLDoc()">Request data</button>
<div id="myDiv"></div>
</body>
</html>