利用axios发post请求,这种传参方式就无法返回结果
this.$axios.post('/annotation/images/upload', {
imgBase64: mycanvas.toDataURL('image/png'),
filename: `${annotationId}.png`
})
用这种写法就可以返回为什么?
var params = new URLSearchParams();
params.append('imgBase64', mycanvas.toDataURL('image/png'));
params.append('filename', `${annotationId}.png`);
因为Request Header中Content-Type: application/x-www-form-urlencoded;charset=UTF-8,在这种默认情况下axios将javaScript中的对象序列化为json,有两种方式:
1.在浏览器中,可以URLSearchParams按如下方式使用API:
2.利用qs库进行编码:
可以参考
axios-npm
axios提交post请求的三种方式