一、什么是ajax?
-
Ajax:现在允许浏览器与服务器通信而无须刷新当前页面的技术. 是不需要刷新整个页面,只刷新局部页面的一种异步通讯技术;
-
Ajax技术的核心: XMLHttpRequest对象:发送请求到服务器并获得返回结果
二、常用方法和属性
1.常用方法
2.常用属性
-
onreadystatechange:指定回调函数
-
readystate: XMLHttpRequest的状态信息
-
status:HTTP的状态码(200对应OK,404对应NotFount等)
-
statusText:HTTP状态码的相应文本(OK或NotFount等)
-
responseText:获得响应的文本内容,表示一个字符串
-
responseXML:获得响应的XML文档对象,可以解析为DOM对象
3.readystate属性说明
4.status状态码属性说明
三、示例
1.业务逻辑
-
点击获取数据按钮,将获取的数据显示在下面 p 标签内容中
2.html代码
- 定义一个按钮(设置获取数据的点击事件)和一个p标签(显示数据类容)
<button class="data-btn">获取数据</button>
<p class="data-show">数据内容</p >
3. js代码
let btnEle = document.querySelector(".data-btn");
let pEle = document.querySelector(".data-show");
btnEle.addEventListener("click", function () {
//1.初始化XMLHttpRequest对象
let xhr = new window.XMLHttpRequest;
//2.建立连接 url地址为当前需要获取的数据内容
xhr.open("get", "http://192.168.0.105/taobao/css/mystyle.css", true);
//3.请求头部,可以省略,省略即是默认值
// xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//4.发送请求
xhr.send();
//5.处理响应结果
xhr.onreadystatechange = function (e) { //e为当前点击按钮的事件对象
let target = e.target;
if (target.readyState == 4) { //readystate状态码等于4表示XMLHttpRequest对象读取响应结束
if (target.status == 200) { //200表示HTTP的状态码OK,404表示NotFount
pEle.innerHTML = target.responseText;
}
}
}
})
4.用jquery调用
-
ajax的数据获取在jquery中以及被封装成函数,可以直接调用
let btnEle = document.querySelector(".data-btn");
let pEle = document.querySelector(".data-show");
btnEle.addEventListener("click", function () {
$.ajax({
url : "http://192.168.0.105/taobao/css/mystyle.css", //规定发送请求的 URL。默认是当前页面。
type : "get", //http请求类型 get|post
data : "", //规定要发送到服务器的数据,没有需要发送的数据就填空字符串
dataType : "text", //预期的服务器响应的数据类型; json|html/text
success : function(resultData){ //当请求成功时运行的函数。
console.log(resultData);
pEle.innerHTML = resultData;
}
});
})
5.数据获取成功