Ajax
为什么需要ajax
在浏览器中,我们可以在不刷新页面的情况下,通过ajax的方式去获取一些新的内容。
ajax的五个步骤
1、创建异步对象。即 XMLHttpRequest 对象。
2、使用open方法设置请求的参数。open(method, url, async)。参数解释:请求的方法、请求的url、是否异步。
3、发送请求。
4、注册事件。 注册onreadystatechange事件,状态改变时就会调用。
5、获取返回的数据。
Ajax的兼容性
1 | var xhr=null; |
get请求举例
1 | document.querySelector('#btnAjax').onclick = function () { |
post请求举例
1 | // 创建异步对象 |
onreadystatechange 事件
注册 onreadystatechange 事件后,每当 readyState 属性改变时,就会调用 onreadystatechange 函数。1
2
3
4
5
6
7
8
9
10readyState:(存有 XMLHttpRequest 的状态。从 0 到 4 发生变化)
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪
status:
200: "OK"。
404: 未找到页面。
服务器响应的内容
responseText:获得字符串形式的响应数据。
responseXML:获得 XML 形式的响应数据。
ajax封装
1 | function ajax_tool(url, data, method, success) { |
用promise封装ajax请求
1 | function getNews(url) { |
fetch
什么是fetch
fetch的优点:1、语法简洁,更加语义化,业务逻辑更清晰。 2、基于标准 Promise 实现,支持 async/await
使用方法
1 | document.getElementById('button3').addEventListener('click',getExternal); |