当前位置: 首页 > news >正文

网站流量图怎么做的咖啡的网站建设策划书

网站流量图怎么做的,咖啡的网站建设策划书,遂宁公司做网站,网站服务器怎么维护目录 1_认识Axios库2_axios发送请求3_axios创建实例4_axios的拦截器5_axios请求封装 1_认识Axios库 功能特点: 在浏览器中发送 XMLHttpRequests 请求在 node.js 中发送 http请求支持 Promise API拦截请求和响应转换请求和响应数据 2_axios发送请求 支持多种请求方式: axios…

目录

  • 1_认识Axios库
  • 2_axios发送请求
  • 3_axios创建实例
  • 4_axios的拦截器
  • 5_axios请求封装

1_认识Axios库

功能特点:

  • 在浏览器中发送 XMLHttpRequests 请求
  • 在 node.js 中发送 http请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求和响应数据

2_axios发送请求

支持多种请求方式:

  • axios(config)
  • axios.request(config)
  • axios.get(url[, config])
  • axios.delete(url[, config])
  • axios.head(url[, config])
  • axios.post(url[, data[, config]])
  • axios.put(url[, data[, config]])
  • axios.patch(url[, data[, config]])

有时候, 可能需求同时发送两个请求

  • 使用axios.all, 可以放入多个请求的数组.
  • axios.all([]) 返回的结果是一个数组,使用 axios.spread 可将数组 [res1,res2] 展开为 res1, res2

常见的配置选项

(前三个选项常用)

  • 请求地址 url: ‘/user’,

  • 请求类型 method: ‘get’,

  • 请求根路径 baseURL: ‘http://www.mt.com/api’,

  • 请求前的数据处理 transformRequest:[function(data){}],

  • 请求后的数据处理 transformResponse: [function(data){}],

  • 自定义的请求头 headers:{‘x-Requested-With’:‘XMLHttpRequest’},

  • URL查询对象 params:{ id: 12 }

  • 查询对象序列化函数 paramsSerializer: function(params){ }

  • request body为 data: { key: ‘aa’},

  • 超时设置 timeout: 1000,

demo1

// 1.发送request请求
axios.request({url: "http://123.207.32.32:8000/home/multidata",method: "get"
}).then(res => {console.log("res:", res.data)
})// 2.发送get请求
axios.get(`http://123.207.32.32:9001/lyric?id=500665346`).then(res => {console.log("res:", res.data.lrc)
})
axios.get("http://123.207.32.32:9001/lyric", {params: {id: 500665346}
}).then(res => {console.log("res:", res.data.lrc)
})// 3.发送post请求
axios.post("http://123.207.32.32:1888/02_param/postjson", {data: {name: "coderwhy",password: 123456}
}).then(res => {console.log("res", res.data)
})

demo2

// 1.baseURL
const baseURL = "http://123.207.32.32:8000"// 给axios实例配置公共的基础配置
axios.defaults.baseURL = baseURL
axios.defaults.timeout = 10000
axios.defaults.headers = {}// 1.get: /home/multidata
axios.get("/home/multidata").then(res => {console.log("res:", res.data)
})// 2.axios发送多个请求
// Promise.all
axios.all([axios.get("/home/multidata"),axios.get("http://123.207.32.32:9001/lyric?id=500665346")
]).then(res => {console.log("res:", res)
})

3_axios创建实例

从axios模块中导入对象时, 使用的实例是默认的实例;

  • 当给该实例设置一些默认配置时, 这些配置就被固定下来了.
  • 但是后续开发中, 某些配置可能会不太一样;
  • 比如某些请求需要使用特定的baseURL或者timeout等.
  • 这时,就可以创建新的实例, 并且传入属于该实例的配置信息

// axios默认库提供实例对象
axios.get("http://123.207.32.32:9001/lyric?id=500665346")// 创建其他的实例发送网络请求
const instance1 = axios.create({baseURL: "http://123.207.32.32:9001",timeout: 6000,headers: {}
})instance1.get("/lyric", {params: {id: 500665346}
}).then(res => {console.log("res:", res.data)
})const instance2 = axios.create({baseURL: "http://123.207.32.32:8000",timeout: 10000,headers: {}
})



4_axios的拦截器

axios的也可以设置拦截器:拦截每次请求和响应

  • axios.interceptors.request.use(请求成功拦截, 请求失败拦截)
  • axios.interceptors.response.use(响应成功拦截, 响应失败拦截)

demo

// 对实例配置拦截器
//【请求】
axios.interceptors.request.use((config) => {console.log("请求成功的拦截")// 1.开始loading的动画// 2.对原来的配置进行一些修改// 2.1. header// 2.2. 认证登录: token/cookie// 2.3. 请求参数进行某些转化return config
}, (err) => {console.log("请求失败的拦截")return err
})
//【响应】
axios.interceptors.response.use((res) => {console.log("响应成功的拦截")// 1.结束loading的动画// 2.对数据进行转化, 再返回数据return res.data
}, (err) => {console.log("响应失败的拦截:", err)return err
})axios.get("http://123.207.32.32:9001/lyric?id=500665346").then(res => {console.log("res:", res)
}).catch(err => {console.log("err:", err)
})

5_axios请求封装

便于以后突发情况,比如axios库不再维护

import axios from 'axios'class HYRequest {constructor(baseURL, timeout=10000) {this.instance = axios.create({baseURL,timeout})}request(config) {return new Promise((resolve, reject) => {this.instance.request(config).then(res => {resolve(res.data)}).catch(err => {reject(err)})})}get(config) {return this.request({ ...config, method: "get" })}post(config) {return this.request({ ...config, method: "post" })}
}export default new HYRequest("http://123.207.32.32:9001")




















































































































http://www.15wanjia.com/news/156546.html

相关文章:

  • 网站制作网免费怎么搭建php网站
  • 西安便宜做网站的微信小程序开发教程从零开始
  • 阜阳网站网站建设网站建设设计公司排名
  • 昌平网站建设浩森宇特烟台提供网站设计制作
  • html5 网站正在建设中梦幻西游网页版最新版本
  • 如何做好网站需求分析做海淘是在哪个网站好
  • 网站建设课程大纲vps远程桌面服务器租用
  • 做淘宝客网站好搭建吗八大处做双眼预约网站
  • 网站建设找星火龙骏域网络
  • 高职高专图书馆网站建设可以合成装备的传奇手游
  • 珠海网站建设王道下拉惠在线制作简历网站
  • 企业网络安全解决方案徐州品牌网站建设|徐州网站优化|徐州网络公司-徐州启思信息科技
  • 德州俱乐部网站开发苏州网站网络推广
  • 网站开发.net新网站怎么做推广
  • 自己做网站要多久网站源代码怎么放入 dede网站后台
  • 提高网站seo网站建设中最基本的决策之一是
  • 网站的折线图怎么做网站建设功能覆盖范围
  • 比较好的网站设计公司seo网络营销外包
  • 电子商城网站开发项目经验廉江手机网站建设公司
  • 用html做网站顺序凡科网制作网站教程
  • 网站基本常识大学 生免费商业网站设计
  • 做微信网站的公司外贸业务员怎么开发客户
  • 网站架构设计师工资水平浏览器入口
  • 深圳低价建站云南网站建设维修公司
  • 网站制作公司兴田德润怎么联系建设行业个人信息网站
  • 网站改版与优化协议书网站建设预算表样本
  • 网站名称创意大全移动端 pc网站开发
  • 贵阳网站设计哪家好门头沟营销型网站建设
  • 服务器做网站有什么好处做网站的账务处理
  • .网站建设风险wordpress 下一篇文章