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

站嗨建站天津高端网站建设公司

站嗨建站,天津高端网站建设公司,物流企业,网站 单页axios 进阶 接口传参方式 使用 xhr 原生技术或者是 axios 时,它的 post 传参方式是键值对的形式 keyvalue。但是在实际开发中一般是使用对象的形式定义数据,方便读取和赋值。所以当我们需要发起请求时可以通过 qs 这一款插件将对象转成键值对形式&…

axios 进阶

接口传参方式

使用 xhr 原生技术或者是 axios 时,它的 post 传参方式是键值对的形式 key=value。但是在实际开发中一般是使用对象的形式定义数据,方便读取和赋值。所以当我们需要发起请求时可以通过 qs 这一款插件将对象转成键值对形式,也可以将键值对形式转成对象,这样就省去了我们自己手动转换的代码。

:::warning 注意
接下来的会在上一个 axios 案例的基础上去做调整,如需要请查看 axios 使用。
:::


  1. 通过命令安装 qs 插件
$ yarn add qs
  1. 修改传参方式
import axios from 'axios'
import qs from 'qs'const data = qs.stringify({account: 'test',password: '123456'
})const p1 = axios({method: 'post',url: 'https://study.noxussj.top/api/login',data: data,headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'}
})p1.then((res) => {console.log(res.data)
})
  1. 修改后预览效果,依然是可以正常请求接口。

请求拦截器

请求拦截器一般是指在请求前需要做的一些处理,例如配置默认请求参数,或者把对象转成键值传参对方式等。这里要记住,每一次新的请求都会先经过请求拦截器。例如我们可以把 qs 转换方法写在请求拦截器中,这样就不需要在每次请求前都要调用 qs 做数据处理,从而节省了部分代码,也让请求参数格式统一成对象形式。

:::warning 注意
基于上面的案例在继续做优化,如需要请查看 axios 接口传参方式。
:::

import axios from 'axios'
import qs from 'qs'/*** 请求拦截器*/
axios.interceptors.request.use((config) => {config.data = qs.stringify(data)return config
})/*** 发起请求*/
const data = { account: 'test', password: '123456' }const p1 = axios({method: 'post',url: 'https://study.noxussj.top/api/login',data: data,headers: {'Content-Type': 'application/x-www-form-urlencoded'}
})p1.then((res) => {console.log(res.data)
})

修改后预览效果,依然是可以正常请求接口。

响应拦截器

响应拦截器一般是指接口响应成功,准备返回接收的数据之前做的一些处理。例如只返回核心部分数据、判断后端的 code 是否正常,错误则弹出提示框提示等。这里要记住,每一次新的请求数据返回之前都会先经过响应拦截器。

:::warning 注意
基于上面的案例在继续做优化,如需要请查看 axios 请求拦截器。
:::

import axios from 'axios'
import qs from 'qs'/*** 请求拦截器*/
axios.interceptors.request.use((config) => {config.data = qs.stringify(data)return config
})/*** 响应拦截器*/
axios.interceptors.response.use((response) => {if (response.data.code !== 200) {alert('接口响应失败')}return response.data
})/*** 发起请求*/
const data = { account: 'test', password: '123456' }const p1 = axios({method: 'post',url: 'https://study.noxussj.top/api/login',data: data,headers: {'Content-Type': 'application/x-www-form-urlencoded'}
})p1.then((res) => {console.log(res.data)
})

原文链接:菜园前端

http://www.yayakq.cn/news/675837/

相关文章:

  • 网站建设合同属于什么合同企业建站网站建站系统
  • 毕业设计论文网站开发需要多少钱怎么找到php网站的首页面html
  • 免费自助网站建设wordpress国内访问
  • 厦门网站建设培训班推广赚佣金
  • 东莞旅游网站建设各种类型网站建设
  • 网站意见反馈源码最新军事报道
  • 电商加盟网站建设教做网站视频
  • 深圳市网站建设哪家好邢台163官网
  • 多少企业需要网站建设湖北企业年报网上申报入口
  • 做网站用微软雅黑侵权吗莱芜网站建设公司
  • 佛山禅城区网站建设公司完整域名展示网站源码
  • 网站正能量免费推广软件晚上wordpress境外支付
  • 公众号怎么做微网站吗化妆品网站建设推广方案
  • 中英文网站建设建设工程检测预约网站
  • 自己的域名怎么做网站南昌定制网站开发
  • 三亚凤凰镇网站建设兼职招聘网做网站有什么js特效
  • 如何在社交网站上做视频推广方案wordpress插件留言墙
  • 怎么给网站做关键词排名网站的音乐怎么做的
  • 北京工商注册查询系统官网北京网站优化软件
  • 网站建设公司的服务定位怎样建公司网站
  • 西安企业网站建设多少钱企业网站建设报价方案
  • 网站名字怎么取最好学工业设计出来干什么
  • 巴中微信网站建设校园官方网站如何制作
  • 网站建设收费标准好么wordpress 多说 登陆
  • 用PS做网站搜索框wordpress怎么翻墙
  • 软件下载网站推荐免费的成都全网营销推广
  • 做投标的网站拓者设计吧免费注册
  • 网站建设维护合同范本如何设置多个首页wordpress
  • 网站建设dwm教学直播平台网站建设费用
  • 墙蛙网站谁家做的企业平台网站制作