除了ajax还有他们

文章来自:源码在线https://www.shengli.me/php/276.html

 

 

可以在这个代码的基础上,增加一些操作,比如说在对请求数据处理前,先检查下返回结果的状态。

对状态非200的结果,增加对应状态码的错误提示;在得到请求数据后,转换成需要的文本格式,

或者json格式;另外,还可以对转换后的数据进行进一步的处理,比如请求的数据返回的是下

划线类型的数据,可以处理成驼峰形式。

为什么要使用FETCH呢?直接使用jQuery和axios也能满足我们的开发需要。下面介绍下fetch的好处:

脱离的XHR,是ES规范里新的实现方式,支持async/await;

更加底层,提供了丰富的API(request,response);

符合关注分离,没有将输入、输出和用事件来跟踪的状态混杂在一个对象里;

更好更方便的写法;

但是需要注意一下几点:

兼容性;

当服务器返回400、500等错误码时并不会reject,只有网络错误等导致请求不能完成时,fetch才会被reject;

fetch不支持abort,不支持超时控制,使用setTimeout及Promise.reject的实现的超时控制,并不能阻止请求过程继续在后台运行,造成了流量的浪费;

fetch没有办法原生监测请求的进度,而XHR可以;

fetch跨域请求时,默认不会带cookie,如果需要带cookie,则要指定:credentials:’include’,例如:


2.axios

是一个基于 Promise 的 HTTP 库,可以用在浏览器和 node.js 中。

随着 vuejs 作者尤雨溪发布消息,不再继续维护vue-resource,并推荐大家使用 axios 开始,axios 进入了很多人的目光。axios本质也是对原生的XHR的封装,不过它是Promise 的实现版本,符合最新的ES规范,axios的几条特性:

(1)从浏览器中创建XHR;

(2)从node.js创建http请求;

(3)支持Promise API;

(4)客户端支持防御CSRF

(5)提供了一些并发请求的接口

使用npm安装:

 

猜你喜欢

转载自blog.csdn.net/hugejihu9/article/details/84313582