使用axios请求数据,post请求出错。因为axios传递的请求参数是json格式,而后端接口要求是formData

Posted AiTing on the way

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用axios请求数据,post请求出错。因为axios传递的请求参数是json格式,而后端接口要求是formData相关的知识,希望对你有一定的参考价值。

解决办法1:(ios兼容性有问题,不推荐使用)

// json格式转为formData格式,因为某些接口的原因
function json2formData(jsonData) {
  var params = new URLSearchParams();
  for(var key in jsonData){             //遍历json对象的每个key/value对
    params.append(key, jsonData[key]);
  }  
  return params;
}

 

解决办法2:使用node的qs模块,推荐使用

import axios from ‘axios‘;
import qs from ‘qs‘;

// 密码登录
export const login = params => { return axios.post(`${baseUrl}/users/login`, qs.stringify(params)) };

 

以上是关于使用axios请求数据,post请求出错。因为axios传递的请求参数是json格式,而后端接口要求是formData的主要内容,如果未能解决你的问题,请参考以下文章

axios.post请求出错:Request header field content-type is not allowed by Access-Control-Allow-Headers in……

axios 发 post 请求,后端接收不到参数的解决方案

Axios Post 登录请求显示挂起状态?

axios post请求报错

使用axios发起get请求和post请求

axios发送post请求,如何提交表单数据?