使用ajax请求post,请求体为图片,控制台得到了响应结果,状态为200,但then代码块的内容无法执行,代码如下
methods: {
submitUpload() {
if(this.img!=''){
this.loading = true;
let param = new FormData() // 创建form对象
param.append('file', this.img, this.img.name) // 通过append向form对象添加数据
let config = {
headers: {'Content-Type': 'multipart/form-data'}
}
this.$axios.post(this.action,param, config).then(response => {
console.log(response);
this.result = response.data;
this.loading = false;
this.img='';
}).catch(error=>{
console.log(error);
})
}else{
this.$refs.upload.submit();
}
},
运行结果及报错内容
console无输出,且前端不显示结果,但后台有响应
我的解答思路和尝试过的方法
有说ajax是异步操作,但修改代码如下还是一样的结果
let post = ()=>{
return new Promise(resolve => {
this.$axios.post(this.action,param, config)
.then(response => {
resolve(response);
})
});
}
this.result = await post();
this.loading = false;
this.img=''
console.log(this.result);
我想要达到的结果
猜测是then没有执行,请问大家是否有解决方法