zoukankan      html  css  js  c++  java
  • axios的Content-Type类型导致后台无法解析数据

    四种常见POST 请求的 Content-Type数据类型:

    • application/x-www-form-urlencoded
    • multipart/form-data
    • application/json  (axios中默认请求头的编码)
    • text/xml

    1. application/x-www-form-urlencoded

          1.1 用 URLSearchParams 传递参数

    let param = new URLSearchParams()
    param.append('username', 'admin')
    param.append('pwd', 'admin')
    axios({
        method: 'post',
        url: '/api/lockServer/search',
        data: param
    })

    需要注意的是: URLSearchParams 不支持所有的浏览器,但是总体的支持情况还是 OK 的,所以优先推荐这种简单直接的解决方案

        1.2  配置axios请求头中的content-type为指定类型

    axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
    {headers:{'Content-Type':'application/x-www-form-urlencoded'}}

        1.3  将参数转换为query参数, 利用qs

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

    import Qs from 'qs'
    let data = {
        "username": "cc",
        "psd": "123456"
    }
    
    axios({
        headers: {
            'Content-Type': 'application/x-www-form-urlencoded'
        },
        method: 'post',
        url: '/api/lockServer/search',
        data: Qs.stringify(data)
    })

    2  Content-Type: multipart/form-data

    对于这种类型的数据,我们常见前端页面上传个人图像,然后点击保存发送后端修改原始数据。解决办法下:

    let params = new FormData()
            params.append('file', this.file)
            params.append('id', localStorage.getItem('userID'))
            params.append('userName', this.name)
            params.append('sex', this.sex)
            params.append('mobile', this.phone)
            params.append('email', this.email)
            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)
            })

      

  • 相关阅读:
    闪回flashback
    Oracle数据文件在open状态被删除的恢复记录
    从浅到深掌握Oracle的锁
    Oracle 11g 11201_RHEL5.5_RAC_VBOX 详细搭建步骤
    AWR Report 关键参数详细分析
    16、Xtrabackup备份与恢复
    17、percona-toolkit
    插入排序
    选择排序
    冒泡排序
  • 原文地址:https://www.cnblogs.com/caoleyun/p/12767744.html
Copyright © 2011-2022 走看看