AXIOS

本文介绍了axios的封装,包括为什么封装、如何封装以及如何使用拦截器处理请求和响应。同时,文章还讲解了HTTP状态码的分类,如200、404、401等,并探讨了同源策略、跨域问题及其解决方案,如JSONP和CORS。
摘要由CSDN通过智能技术生成

axios的封装

1.什么是axios
axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端。简单的理解就是ajax的封装。
安装axios
使用 npm:
$ npm install axios
使用 bower:
$ bower install axios
使用 cdn:

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    //原生ajax

/*    //1.创建一个XMLHttpRequest实例
    let xhr = new XMLHttpRequest();
    //2.xml的open方法
    xhr.open("get","https://cnodejs.org/api/v1/topics",false);
    //设置请求头信息
    // xhr.setRequestHeader("token","tokenString");
    //3.xml的监听
    xhr.onreadystatechange = function (){
        console.log(xhr.readyState);//xhr状态 0 1 2 3 4
        /!*
        * xhr.readyState xhr本身的一些状态
        * 0 请求未初始化 刚刚实例化XMLHttpRequest
        * 1 服务器建立连接 调用了open方法
        * 2 请求已经被接受
        * 3 请求在处理中 xhr.send(data)
        * 4 请求处理完成,相应已就绪
        * *!/
        console.log(xhr.status);//http状态码100 200 300 400 500
        if(xhr.readyState === 4 && xhr.status=== 200){
            console.log(xhr.responseText)
        }
    };
    // //4.发送请求
    xhr.send(null)*/

axios 封装了原生的 XHR,让我们发送请求更为简单,但假设在一个成百上千个 vue 文件的项目中,我们每一个 vue 文件都要写 axios.get()或 axios.post() 岂不是很麻烦?后期的维护也不方便,所以我们要对 axios 进行进一步的封装。

 //封装ajax
    function ajax(options = {
   
        url:"https://cnodejs.org/api/v1/topics", //请求地址
        data:null, //要发送的数据
        method:"GET", //请求方式
        success:function (){
   }, //成功后的回调
        fail:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值