axios 和 fetch 都发生一样的问题
根本就没有 form 元素,是我用按钮的 click 事件处理函数,手动
var formData = new FormData();
formData.append("avatar", document.getElementById("avatar-uploader").files[0]);
这样搞出来的 FormData 对象,然后在调用 axios 和 fetch 时作为 data 给进去。
甚至为了避免这个按钮莫名其妙变成了 type=submit (它是 el-button type="primary“ 其实根本就没有变 submit 的可能),我还 @click.prevent
了。
你看我这里被迫用 document.getElementById(..)
是因为我想,会不会是提交之后导致文件对象发生改变,而 文件对象绑定到当前组件的 data 属性 上,所以引发页面重新渲染。(但我确定是刷新了,因为控制台之前输出的信息没了)。所以才用看着这么落伍的赋值方法。。
如果没有文件对象,只是单纯的使用 new FormData();
就不会有问题!
真是奇了怪了,日了狗了。。。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.