电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Ajax常用封裝庫——Axios的使用

瀏覽:257日期:2022-06-11 15:07:35
目錄
  • Axios的特性有:
  • Axios API
    • 向axios()傳遞相關配置來創建請求;
    • 常用的配置項
  • axios 全局默認值的配置
    • axios攔截器:在請求或響應被then或catch處理前攔截它們
      • axios的快速請求方法
        • onload / onprogress
          • response屬性

            Axios 是目前應用最為廣泛的 AJAX 封裝庫

            Axios的特性有:

            • 從瀏覽器中創建 XMLHttpRequests
            • 從 node.js 創建 http 請求
            • 支持 Promise API
            • 攔截請求和響應
            • 轉換請求數據和響應數據
            • 取消請求
            • 自動轉換 JSON 數據
            • 客戶端支持防御 XSRF

            使用axios時,需要通過使用script標簽引入:https://unpkg.com/axios/dist/axios.min.js
            axios的中文網鏈接:Axios中文網

            Axios API

            向axios()傳遞相關配置來創建請求;

            • axios(對象格式的配置選項)
            • axios(url,config)

            常用的配置項

            • url:用于請求的服務器URL
            • method:創建請求時使用的方法
            • baseURL:傳遞相對URL前綴,將自動加在url前面
            • headers:即將被發送的自定義請求頭
            • params:即將與請求一起發送的URL參數
            • data:作為請求主體被發送的數據
            • timeout:指定請求超時的毫秒數(0表示無超時時間)
            • responseType:表示服務器響應的數據類型,默認“json”
            axios().then(function(response){
             //正常請求的響應信息對象response
            })
            .catch(function(error){
             //捕獲的錯誤
            })

            代碼展示如下:

            <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
            <script>
             //使用axios方法    post請求
            axios({
             url:"/pinglun",
             method:"post",
             baseURL:"http://localhost:3000",
             header:{
                   "Content-Type":"application/json"
             },
            data:{
                "content":"well",
                "lyId":4
             },
                timeout:1000,
              }).then(function(res){
                   console.log(res.data);
               }).catch(function(error){
                   console.log(error);
            })
             </script>

            axios 全局默認值的配置

            axios.defaults.baseURL = "https://xxx.xxx.com";
            axios.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencode"

            axios攔截器:在請求或響應被then或catch處理前攔截它們

            axios 的請求攔截器

            //axios 的請求攔截器
            axios.interceptors.request.use(function(config){
             //配置項config
              config.params = {
            id:2 //對配置項中的params進行更改,篩選id=2
                }
               return config;//要有返回值
            })
                
            //axios 方法
            axios("http://localhost:3000/liuyan")
            .then(function(res){
                  console.log(res.data);
             })
            .catch(function(error){
                  console.log(error);
            })
                
            //axios 方法
            axios("http://localhost:3000/pinglun")
            .then(function (res) {
                console.log(res.data);
            })
            .catch(function (error) {
                 console.log(error);
            })
            //多個axios方法也可以攔截

            axios 的響應攔截器

            //axios 的響應攔截器
            axios.interceptors.response.use(function(response){
                 return(response.data);//response里有很多值,選擇data即可
            })
                
            //axios 方法
            axios("http://localhost:3000/liuyan")
            .then(function (res) {
                  console.log(res);//response那里攔截了,已經將數據傳成data了
            })
            .catch(function (error) {
                 console.log(error);
            })

            axios的快速請求方法

             axios.get(url[,config])

            //axios.get(url[,config])
                
            axios.get("http://localhost:3000/liuyan?id=2")
             .then(function(res){
                 console.log(res.data);
            })
                
            axios.get("http://localhost:3000/liuyan",{
               params:{
            id:1
               }
            }).then(function(res){
                console.log(res.data);
            })

             axios.post(url[,data[,config]])

            //axios.post(url[,data[,config]]) , post請求,添加數據
            axios.post("http://localhost:3000/users",{
                name:"laowang",
                age:23,
                class:1
            })

             axios.delete(url[,config])

            //axios.delete(url[,config])
            axios.delete("http://localhost:3000/liuyan",{
               params:{
             id:5
                }
            })

             axios.put(url[,data[,config]])

            //axios.put(url[,data[,config]])
            axios.put("http://localhost:3000/liuyan",{
                name:"wangshisan",
                id:11
            })

            XMLHttpRequest2.0,html5對XMLHttpRequest類型全面升級,使其變得更加易用、強大。

            onload / onprogress

              XML.onload 事件:只在請求完成時觸發

              XML.onprogress 事件:只在請求進行中觸發

            //xhr.onload事件:只在請求完成時觸發
            //xhr.onprogress事件:只在請求進行中觸發
            var xhr = new XMLHttpRequest();
            xhr.open("get","http://localhost:3000/pinglun");
            xhr.onload = function(){
                 console.log("load:",this.readyState);
            };
            xhr.onprogress = function(e){
                console.log("progress:",this.readyState);
                //在周期性請求過程中,接收到的數據個數
                 console.log(e.loaded);
                 //接收數據的總個數
                 console.log(e.total);
            }
            xhr.send(null);

            response屬性

              以對象的形式表述響應體,其類型取決于responseType的值。根據responseType的值,來通過特定的類型請求數據。

              responseType要在調用open()初始化請求之后,在調用send()發送請求到服務器之前設置才會有效。

            //XMLHttpRequest之前的response返回
            //responseText
            // responseXml
            var xhr = new XMLHttpRequest();
            xhr.open("get","http://localhost:3000/pinglun");
            xhr.onload = function(){
              var data = JSON.parse(this.responseText);
              console.log(data);
               }
            xhr.send(null);
               
            // xhr2.0新增的response屬性 
            // response
            // responseType
            var xhr = new XMLHttpRequest();
            xhr.open("get","http://localhost:3000/liuyan");
            xhr.responseType = "json";
            xhr.onload = function(){
                console.log(this.response);
            }
            xhr.send(null)

            以上就是Ajax常用封裝庫——Axios的使用的詳細內容,更多關于Ajax封裝庫Axios的使用的資料請關注其它相關文章!

            標簽: Ajax
            相關文章:
            主站蜘蛛池模板: 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 旗杆生产厂家_不锈钢锥形旗杆价格_铝合金电动旗杆-上海锥升金属科技有限公司 | 翅片管换热器「型号全」_厂家-淄博鑫科环保| 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 慢回弹测试仪-落球回弹测试仪-北京冠测精电仪器设备有限公司 | 冷藏车-东风吸污车-纯电动环卫车-污水净化车-应急特勤保障车-程力专汽厂家-程力专用汽车股份有限公司销售二十一分公司 | 防火阀、排烟防火阀、电动防火阀产品生产销售商-德州凯亿空调设备有限公司 | 特种阀门-调节阀门-高温熔盐阀-镍合金截止阀-钛阀门-高温阀门-高性能蝶阀-蒙乃尔合金阀门-福建捷斯特阀门制造有限公司 | 仿古建筑设计-仿古建筑施工-仿古建筑公司-汉匠古建筑设计院 | 气动机械手-搬运机械手-气动助力机械手-山东精瑞自动化设备有限公司 | 艺术漆十大品牌_艺术涂料加盟代理_蒙太奇艺术涂料厂家品牌|艺术漆|微水泥|硅藻泥|乳胶漆 | 模型公司_模型制作_沙盘模型报价-中国模型网 | 钛合金标准件-钛合金螺丝-钛管件-钛合金棒-钛合金板-钛合金锻件-宝鸡远航钛业有限公司 | 西安标准厂房_陕西工业厂房_西咸新区独栋厂房_长信科技产业园官方网站 | 宁夏活性炭_防护活性炭_催化剂载体炭-宁夏恒辉活性炭有限公司 | 博医通医疗器械互联网供应链服务平台_博医通 | 温湿度记录纸_圆盘_横河记录纸|霍尼韦尔记录仪-广州汤米斯机电设备有限公司 | 上海软件开发-上海软件公司-软件外包-企业软件定制开发公司-咏熠科技 | 伶俐嫂培训学校_月嫂培训班在哪里报名学费是多少_月嫂免费政府培训中心推荐 | 地图标注-手机导航电子地图如何标注-房地产商场地图标记【DiTuBiaoZhu.net】 | 置顶式搅拌器-优莱博化学防爆冰箱-磁驱搅拌器-天津市布鲁克科技有限公司 | 吉祥新世纪铝塑板_生产铝塑板厂家_铝塑板生产厂家_临沂市兴达铝塑装饰材料有限公司 | 哈尔滨京科脑康神经内科医院-哈尔滨治疗头痛医院-哈尔滨治疗癫痫康复医院 | 印刷人才网 印刷、包装、造纸,中国80%的印刷企业人才招聘选印刷人才网! | 保定市泰宏机械制造厂-河北铸件厂-铸造厂-铸件加工-河北大件加工 | 鹤壁创新仪器公司-全自动量热仪,定硫仪,煤炭测硫仪,灰熔点测定仪,快速自动测氢仪,工业分析仪,煤质化验仪器 | 板框压滤机-隔膜压滤机配件生产厂家-陕西华星佳洋装备制造有限公司 | CE认证_产品欧盟ROHS-REACH检测机构-商通检测 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 南京租车,南京汽车租赁,南京包车,南京会议租车-南京七熹租车 | UV-1800紫外光度计-紫外可见光度计厂家-翱艺仪器(上海)有限公司 | 布袋式除尘器|木工除尘器|螺旋输送机|斗式提升机|刮板输送机|除尘器配件-泊头市德佳环保设备 | 水厂污泥地磅|污泥处理地磅厂家|地磅无人值守称重系统升级改造|地磅自动称重系统维修-河南成辉电子科技有限公司 | BESWICK球阀,BESWICK接头,BURKERT膜片阀,美国SEL继电器-东莞市广联自动化科技有限公司 | 带式压滤机_污泥压滤机_污泥脱水机_带式过滤机_带式压滤机厂家-河南恒磊环保设备有限公司 | 山东led显示屏,山东led全彩显示屏,山东LED小间距屏,临沂全彩电子屏-山东亚泰视讯传媒有限公司 | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | 山东彩钢板房,山东彩钢活动房,临沂彩钢房-临沂市贵通钢结构工程有限公司 | 【官网】博莱特空压机,永磁变频空压机,螺杆空压机-欧能优 | 商标转让-商标注册-商标查询-软著专利服务平台 - 赣江万网 | 生产自动包装秤_颗粒包装秤_肥料包装秤等包装机械-郑州鑫晟重工科技有限公司 |