1.什么是ajax
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 ajax的特点: - AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 - AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。 - AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。
2.ajax执行原理

3.实例
为了帮助您理解 AJAX 的工作原理,我们创建了一个小型的 AJAX 应用程序。 下面的 AJAX 应用程序包含一个 div 和一个按钮。 div 部分用于显示来自服务器的信息。当按钮被点击时,它负责调用名为 loadXMLDoc() 的函数。
<!--ajax.html--->
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
</head>
<body>
<div id="myDiv"><h2>使用 AJAX 修改该文本内容</h2></div>
<button type="button" onclick="loadXMLDoc()">修改内容</button>
<script>
function loadXMLDoc()
{
let 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","ajax_info.txt",true);
xmlhttp.send();
}
</script>
</body>
</html>
在ajax.html同级目录下,创建ajax_info.txt文件。
AJAX 不是新的编程语言,而是一种使用现有标准的新方法。<br>
AJAX 是与服务器交换数据并更新部分网页的技术,在不重新加载整个页面的情况下<br>
运行效果:

4.对原生ajax的简单封装
http.js
function Http() {
let xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
return {
request: (url, method, data, success, error) => {
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState === 4) {
if(xmlhttp.status === 200){
success(xmlhttp.responseText);
}else{
error(xmlhttp.responseText);
}
}
}
xmlhttp.open(method, url, true);
if (method === 'GET' || method === 'get') {
xmlhttp.send();
} else {
xmlhttp.setRequestHeader("Content-type", "application/json");
xmlhttp.send(data);
}
}
}
}
调用方式:
<script src="http.js"></script>
<script>
let http = new Http();
http.request('ajax_info.txt', 'GET', null,
(resp) => {
console.log(resp)
},
(err) => {
console.log(err)
});
</script>