问题

  1. not supported
{
"msg": "Content type 'multipart/form-data;boundary=--------------------------714795402464721152224475;charset=UTF-8' not supported",
"code": 500
}

这个是因为 form-data 请求没有被后端支持,联系后端确认请求格式;关键就是 msg 中第一个分号前的内容,例子是 form-data

解决方法

  1. 在请求时按照接口文档或者后端给的 postman.json 配置请求头 header
  return request({
url: 'API',
headers: { //这里配置请求头
isToken: true,
'Content-Type': 'application/x-www-form-urlencoded'
},
method: 'post',
data: data,
timeout: -1
})

例子中,请求添加了headers字段,request对象为封装的axios请求,isToken字段表示将会携带token给后端;第二个'Content-Type'为设置的请求类型,当前设置的为x-www-form-urlencoded,也可以设置为其他的,比如form-data。如何确定该字段内容,详见文末 依据Postman写请求头

FormData 与 x-www-form-urlencoded 请求的数据封装

  1. FormData

    在使用FormData格式发送请求时,需要将数据用FormData的对象封装起来,然后传给后台
function getList(params){
const data = new FormData()
data.append("pageSize", data.pageSize)
data.append("pageNum", data.pageNum)
return request({
url: 'api',
headers: {
isToken: true,
'Content-Type': 'multipart/form-data'
},
method: 'post',
data: data,
timeout: -1
})
}

在上面的例子中,FormData为form-data请求的数据格式,data.append(key, value)方法的第一个参数是后端指定的参数名,第二个是值

2. x-www-form-urlencoded

export function getDetail(params) {
const data = new URLSearchParams()// 这个就是 x-www-form-urlencoded 要封装的数据格式
data.append('trackIds', params) // 第一个参数是后端指定的参数名,第二个是值
return request({
url: 'api',
headers: {
isToken: true,
'Content-Type': 'application/x-www-form-urlencoded'
},
method: 'post',
data: data,
timeout: -1 //表示请求永不超时
})
}

x-www-form-urlencoded请求需要将数据封装为URLSearchParams对象,利用append(key,value)方法按照 第一个参数是后端指定的参数名,第二个是值的方法 为URLSearchParams对象填充属性

Postman确定请求类型

如果后端给了postman.json,那么按照postman界面显示来确定请求类型

  1. formData

  2. x-www-form-urlencoded

依据Postman写请求头

  1. 用postman正常发起一次请求,获取到数据后,在下图的位置有个代码样式的按钮,点开

  2. 复制其内容中的header,粘贴到 request 的 headers 中

axios 发送 form-data 请求和 x-www-form-urlencoded请求以及相关问题的更多相关文章

  1. JavaScript原生封装ajax请求和Jquery中的ajax请求

    前言:ajax的神奇之处在于JavaScript 可在不重载页面的情况与 Web 服务器交换数据,即在不需要刷新页面的情况下,就可以产生局部刷新的效果.Ajax 在浏览器与 Web 服务器之间使用异步 ...

  2. 解决Fiddler无法捕获本地HttpWebRequest(C#.net)请求和HttpURLConnection(Java)请求

    方法很简单,就是设置本地代理 C# HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Proxy = new WebPr ...

  3. VUE axios 发送 Form Data 格式数据请求

    axios 默认是 Payload 格式数据请求,但有时候后端接收参数要求必须是 Form Data 格式的,所以我们就得进行转换.Payload 和 Form Data 的主要设置是根据请求头的 C ...

  4. HTTP 请求中的 Form Data 与 Request Payload 的区别

    HTTP 请求中的 Form Data 与 Request Payload 的区别 前端开发中经常会用到 AJAX 发送异步请求,对于 POST 类型的请求会附带请求数据.而常用的两种传参方式为:Fo ...

  5. springMVC接收参数的区别form data与query string parameters与request payload

    在AJAX请求中,我见过有三种form表单数据类型提交. 第一种:form data, 第二种:query string parameters,第三种:request payload. 在google ...

  6. 第三百四十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—Requests请求和Response响应介绍

    第三百四十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—Requests请求和Response响应介绍 Requests请求 Requests请求就是我们在爬虫文件写的Requests() ...

  7. Sending forms through JavaScript[form提交 form data]

    https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Sending_forms_through_JavaScript As in the ...

  8. [Python]【Form Data vs Request Payload】之 python 爬虫如何实现 POST request payload 形式的请求

    1 问题描述 欲使用Python的requests库(requests.session().request(...))实现对此Ajax的POST请求进行模拟实现. 但在chrome发现其请求的形式不一 ...

  9. springMVC中对HTTP请求form data和request payload两种数据发送块的后台接收方式

    最近在做项目中发现,前台提交数据时,如果通过form表单提交和ajax发送json时,springMVC后台接收不能都通过@ModelAttribute方式处理,经过一番查找后,ajax发送json请 ...

  10. axios 请求中的Form Data 与 Request Payload的区别

    在vue项目中使用axios发post请求时候,后台返回500. 发现是form Data 和 Request payload的问题. 后台对两者的处理方式不同,导致我们接收不到数据. 解决方案:使用 ...

随机推荐

  1. vtkDelaunay2D 错误 Edge not recovered, polygon fill suspect

    vtkDelaunay2D 在设定SetSourceData边界处理凹多边形时,不稳定,有概率会出现"Edge not recovered, polygon fill suspect&quo ...

  2. 渗透测试-前端验签绕过之SHA256+RSA

    本文是高级前端加解密与验签实战的第2篇文章,本系列文章实验靶场为Yakit里自带的Vulinbox靶场,本文讲述的是绕过SHA256+RSA签名来爆破登录. 绕过 根据提示可以看出这次签名用了SHA2 ...

  3. git gitignore文件不生效

    配置了 .gitigore 文件不生效,是刚开始将那些过滤的文件加到了版本控制.后续增加的,没有进入到版本控制 解决办法就是从版本控制移除,重新更新下gitignore文件 执行以下命令: 根据情况自 ...

  4. 类型判断运算符(as、is、is!)

    类型判断运算符 as.is.is! 运算符是在运行时判断对象类型的运算符. as 类型转换(也用作指定 类前缀)) is 如果对象是指定类型则返回 true is! 如果对象是指定类型则返回 fals ...

  5. k3d 入门:在 Docker 中运行 k3s

    k3d 入门:在 Docker 中运行 k3s https://www.xtplayer.cn/k3d/introduction-k3d-run-k3s-docker-src/#The-"S ...

  6. 助推乡村振兴,四川农担X中电金信大数据智能风控平台彰显“榜样的力量”

    ​在2024年3月召开的两会上,政府工作报告首次提到了要大力发展科技金融.绿色金融.普惠金融.养老金融.数字金融,为深入推进金融高质量发展,走中国特色金融发展之路指明了方向.其中,四川农担作为一家专注 ...

  7. C# 转 Java

    代码级转换,目前唯一可用的方案是 Tangible C# to Java Converter. 把编译后的 IL 转为 bytecode 再反编译也是一个思路,没有找到相关实现. 转换难点并不是语法, ...

  8. Linux 网络设置及管理

    Linux 网络管理 网络管理 1.使用NetworkManager管理网络 NetworkManager(网络管理器)是一个动态网络的控制器与配置系统,它用于当网络设备可用时保持设备连接和开启并激活 ...

  9. MockQueryable:LINQ查询模拟测试工具

    我们在项目开发过程中,单元测试是确保代码质量的重要环节.涉及数据库LINQ查询逻辑,就需要数据库配合,但这样可能出现性能和数据库并发等问题.下面给推荐一个开源库,为开发者提供了一种简便的方式来模拟LI ...

  10. Qt音视频开发14-mpv读取和控制

    一.前言 用mpv来读取文件的信息,以及设置当前播放进度,音量.静音等,和当时vlc封装的功能一样,只不过vlc是通过调用函数接口去处理,而mpv是通过读取和设置属性来处理,vlc支持定时器或者线程中 ...