解决系统兼容性中FormData对象包含appendData和realFormData属性

项目场景:移动端vue项目前端通过axios发送post请求传输FormData数据上传文件到后台问题描述发现pc和安卓系统正常使用new FormData()对象,但是IOS系统则产生的对象

项目场景:

移动端vue项目前端通过axios发送post请求传输FormData数据上传文件到后台


问题描述

发现pc和安卓系统正常使用new FormData()对象,但是IOS系统则产生的对象是Object{appendData : …, realFormData : …}这种格式的。

解决方案:

方法一:

const formData = new FormData();
formData.append(key, value);
axios.post(`/api/yoururl`,
data:formData.realFormData || formData
)
.then(res=>{
  console.log('res=>',res);           
})

方法二:

方法一的办法虽简单解决,但是也不知道不同版本系统或新的其他浏览器会产出别的数据结构。所以不保险

直接在index.html使用’< script>’ 标签解决:

<script src="https://cdn.jsdelivr/npm/formdata-polyfill@3.0.20/formdata.min.js"></script>

或者打开链接,赋值里面的内容保存成js文件放到项目路径,直接引用本地即可

<script src="./my-script/formdata.min.js"></script>

发布者:admin,转转请注明出处:http://www.yc00.com/web/1754941419a5218208.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信