我有这个代码:
fetch('http://example.com/movies.json')
.then(response => response.json())
.then(data => console.log(data));
使用 Fetch API 进行上面代码中的请求是否被视为 AJAX 请求?
仅当我们使用
XMLHttpRequest
对象时,我的请求才被视为 AJAX 请求?
是的,有多种方法可以发送异步请求,例如 jQuery、axios、Fetch API 或 XMLhttprequest。
fetch 是一个 ajax 请求。
但是 fetch 是一个简单的 api,还没有,所以我推荐 fatcher
fatcher 是一个基于
fetch
的轻量级 HTTP 请求库,允许我们在浏览器和 NodeJS 环境中使用原生 fetch
进行 Web 请求。
它是使用原生
fetch
包装的,我们使用时要求浏览器或NodeJS支持fetch
。
Fatcher旨在拥抱标准库的
fetch
,同时提供一些fetch
中无法提供的功能,以及使功能更好地扩展和复用。
import { fatcher, isFatcherError } from 'fatcher';
fatcher({
url: '/',
})
.then(result => {
// Response
const { data, status } = result;
})
.catch(err => {
// Catch Fatcher Error
if (isFatcherError(err)) {
// Request successfully. But response status code is not 2xx.
console.error(err.toJSON());
return;
}
// This is other errors.
});