JavaScript 发起请求方式,我知道的有使用 XMLHttpRequest,这种技术被叫做 AJAX,比较流行的库是 Axios、jQuery。现在还有一个流行的发起请求的方法,那就是使用浏览器内置的 fetch API,必学,它是 ES2015 中提出的新 API,直到今天我在发现它。
参看 MDN:《XMLHttpRequest》《使用 Fetch》
参看一些博客:《Fetch API 是什么?能代替 AJAX 吗?》《Web开发中的“黑话”》《AJAX and APIs - React 官网》
《Fetch API - MDN》《一文秒懂 ajax, fetch, axios》
这里还有几篇好玩的文章:《为什么你不应该再使用 Fetch API?》《fetch的优势在哪里,为什么有人会用fetch?》
(未来有空了更新 fecth API 的使用方法)
一、简单上手
1. 使用 XMLHttpRequest 发请求(四步)
- 创建 XMLHttpRequrst 对象
- 调用 open 方法
- 指定回调函数(是异步的)
- 发送请求
let request = new XMLHttpRequest()
request.open('GET','//v1.alapi.cn/api/lajifenlei?name=手机')
request.onreadystatechange=function(){
if (request.readyState === 4 && request.status === 200){
console.log(JSON.parse(request.response))
}
}
request.send()
2. 使用 fetch 发请求(两步)
- 拿到请求的响应
- 拿到响应中的数据
fetch('//v1.alapi.cn/api/lajifenlei?name=手机')
.then(function(response) {
return response.json();
})
.then(function(myJson) {
console.log(myJson)
});
二、使用 fetch
三、使用 axios
「@浪里淘沙的小法师」