这段时间在做的一个项目中使用到了fetch来获取数据,那么就会产生为什么要使用fetch而不用ajax,他们两个之间又存在什么样的区别的疑问。
所以自己就简单的整理一下下。
fetch
- fetch是基于promise实现的,也可以结合async/await。
- fetch请求默认是不带cookie的,需要设置fetch(URL,{credentials:’include’})。
Credentials有三种参数:same-origin,include,* - 服务器返回400 500 状态码时并不会reject,只有网络出错导致请求不能完成时,fetch才会被reject。
- 所有版本的 IE 均不支持原生 Fetch。
- fetch是widow的一个方法;
ajax
- 是XMLHTTPRequest的一个实例;
- 只有当状态为200或者304时才会请求成功;