关于axios配置请求头content-type实例详解

 更新时间:2022年04月22日 10:48:50   作者:Ideaing~  
现在前端开发中需要通过Ajax发送请求获取后端数据是很普遍的一件事情了,下面这篇文章主要介绍了关于axios配置请求头content-type的相关资料,需要的朋友可以参考下

前言

现在网上可能发送Ajax请求有很多种插件,每种用法可能略有差异,大家只需挑选一种自己喜欢的即可。毕竟现在还有很多人使用jQuery,$.ajax用法也是很多了。

axios配置请求头content-type方法如下:

axios 是Ajax的一个插件,axios虽然是一个插件,但是我们不需要通过Vue.use(axios)来使用,下载完成后,只需在项目中引入即可。(一般我们放在了请求接口的公共文件中引用)

npm install axios -S

axios 发送post请求时默认是直接把 json 放到请求体中提交到后端的,axios默认的请求头content-type类型是’application/json;charset=utf-8’.

content-type的三种常见数据格式:

// 1 默认的格式请求体中的数据会以json字符串的形式发送到后端
  'Content-Type: application/json '
// 2 请求体中的数据会以普通表单形式(键值对)发送到后端
  'Content-Type: application/x-www-form-urlencoded'
// 3 它会将请求体的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件
  'Content-Type: multipart/form-data'

Content-Type: application/json这种参数是默认的就不说了

若后端需要接受的数据类型为:application/x-www-form-urlencoded,我们前端该如何配置:

1 用 URLSearchParams 传递参数

var param = new URLSearchParams()
  param.append('name',name)
  param.append('age' , age)
axios(
    {
      method:'post',
      url: url,
      data : param,
    }
    ).then(res => res).catch(err => err)

2 配置axios请求头中的content-type为指定类型(这个比较常用)

axios.defaults.headers["Content-Type"] = "application/x-www-form-urlencoded";

3 引入 qs ,这个库是 axios 里面包含的,不需要再下载了

import Qs from 'qs'
let params= {
    "name": "ll",
    "age": "18"
}
axios({
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
    },
    method: 'post',
    url: url,
    data: Qs.stringify(params)
})

若后端需要接受的数据类型为:Content-Type: multipart/form-data,我们前端该如何配置:

应用场景:对于这种类型的数据,我们常见前端页面上传个人图像,然后点击保存发送后端修改原始数据

let params = new FormData()
params.append('file', this.file)
params.append('qq', this.qq)
params.append('weChat', this.WeChat)
axios.post(URL, params, {headers: {'Content-Type': 'multipart/form-data'}}).then(res => {
          if (res.data.code === 0) {
                this.$router.go(-1)
          }
        }).catch(error => {
          alert('更新用户数据失败' + error)
        })

补充:axios 根据接口设置不同的content-type

问题呢是这样的,我们前端再请求后端接口的时候,通常content-type的格式就是application/json,但是也有的时候后端需要我们传的格式为form表单的格式application/x-www-form-urlencoded; charset=UTF-8。

具体操作,我的运行环境为,uniapp

首先,axios请求拦截

其中config里面有我们传的参数,可以自行打印查看一下,

其中 config.data.need是我自己定义的字段,来判断content-type的具体格式是哪一种。

就是 我们再需要格式为application/x-www-form-urlencoded; charset=UTF-8的接口里面传入 need:true就好了

总结

到此这篇关于axios配置请求头content-typ的文章就介绍到这了,更多相关axios配置请求头content-type内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • until封装watch常用逻辑简化代码写法

    until封装watch常用逻辑简化代码写法

    这篇文章主要介绍了until将watch最常用的逻辑进行封装简化代码写法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • 简单谈一谈Vue中render函数

    简单谈一谈Vue中render函数

    vue中的render函数,它返回的是一个虚拟节点vnode,也就是我们要渲染的节点,下面这篇文章主要给大家介绍了关于Vue中render函数的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • vue-ajax小封装实例

    vue-ajax小封装实例

    下面小编就为大家带来一篇vue-ajax小封装实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • vue3+vite项目中按需引入vant报错:Failed to resolve import的解决方案

    vue3+vite项目中按需引入vant报错:Failed to resolve import的解决方案

    最近在vue项目中引入vant的时候发现报错了,经过尝试发现了问题,现将完整引入流程提供给大家参考,下面这篇文章主要给大家介绍了关于vue3+vite项目中按需引入vant报错:Failed to resolve import的解决方案,需要的朋友可以参考下
    2022-12-12
  • 解决vue-router 嵌套路由没反应的问题

    解决vue-router 嵌套路由没反应的问题

    这篇文章主要介绍了解决vue-router 嵌套路由没反应的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • vue的ssr服务端渲染示例详解

    vue的ssr服务端渲染示例详解

    这篇文章主要给大家介绍了关于vue的ssr服务端渲染的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 一文带你了解vue双向数据绑定

    一文带你了解vue双向数据绑定

    v-model 是 Vue.js 中一个重要的指令,它提供了一种简洁的方式来实现双向数据绑定,下面小编就来带大家深入了解下vue双向数据绑定的原理与应用吧
    2023-09-09
  • Vue项目中components组件(模板)的使用及说明

    Vue项目中components组件(模板)的使用及说明

    这篇文章主要介绍了Vue项目中components组件(模板)的使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 在antd Form表单中select设置初始值操作

    在antd Form表单中select设置初始值操作

    这篇文章主要介绍了在antd Form表单中select设置初始值操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • vite打包去除console.log和debugge的方法实践

    vite打包去除console.log和debugge的方法实践

    本文主要介绍了vite打包去除console.log和debugge的方法实践,vite 已经将这个功能内置了,所以我们只需要修改配置文件,下面就来介绍一下如何修改
    2023-12-12

最新评论