axios 默认使用的是json字符串形式去提交数据,但后端极力要求使用表单形式提交数据(说是json字符串还需要转,会消耗性能)。

       由于需要使用表单的数据形式,在前端的项目里面,则需要对数据进行转换,使之成为后端能够接收的表单数据。

       为了方便对请求进行控制,我将axios进行了封装,方便请求(响应)的拦截,这里就只贴部分代码。

       首先要修改请求头的'Content-Type' ,在axios的配置里面的,将header的 'Content-Type' 改为  'application/x-www-form-urlencoded; charset=UTF-8'。

        其次,我们需要安装一个qs插件,用来将请求数据转换成表单形式。官网有推荐使用qs这个插件

 

      axios的配置中有一个transformRequest,它可以对数据提交前进行数据修改,官网的文档如下:

 我们可以在这个里面对提交前数据进行修改操作。我是在这里使用qs将数据表单化的,具体的代码如下:

 至此,则数据提交就变成表单形式了

Logo

前往低代码交流专区

更多推荐