Vue axios Post请求优化处理

加粗样式

  • 1.项目中存在得问题
    在系统管理业务角色管理下分配权限点击保存时报一个网络错误
  • 2.问题的原因
    使用axios的post调用时,用params传递参数,参数会全部加到url中,类似get请求,导致url的请求头数据太长,出现413 FULL head
  • 3.解决办法
    a.安装npm install qs ,在项目文件axios.js中引入(import qs from ‘qs’),将对象序列化为URL的形式 以Form表单得形式传递
    在这里插入图片描述
    b.在encrypt的方法返回的结果中添加qs.stringify
    encrypt 只是一个自己封装的方法而已,实际情况根据自己项目
    Vue axios Post请求优化处理_第1张图片
    c.将axios配置选项中将params改为data。params是添加到url的请求字符串中的,用于get请求。而data是添加到请求体(body)中的, 用于post请求。这样就可以了 一个正常的POST请求就出来了
  • 4.附加项:
  • Vue axios Post请求优化处理_第2张图片
    因为是POST请求所以在查看接口的时候不容易查看到_mt 所以做一个axios拦截器 处理一下在url后拼接一个_mt用于查看
    Vue axios Post请求优化处理_第3张图片
    Vue axios Post请求优化处理_第4张图片
    根据项目需要和自己的习惯 可加可不加!

你可能感兴趣的:(Vue)