【发布时间】:2020-05-17 07:38:19
【问题描述】:
我对 ajax 回调函数有一些问题。我一起使用 ajax 和 vuejs,在 vue 方法中发出 ajax 请求后,我想访问 vuejs 的变量,但它不起作用。这是我的代码
这是我的 vuejs 函数:在这个函数中,我尝试使用 ajax 将图像上传到服务器
submitFile() {
let url = base_url+"/acp/attach/upload";
let formData = new FormData();
let mod_name = $("#vinpModName").val();
let mod_id = $("#vinpModId").val();
let file_title = $("#file_title").val();
//handle multi files upload
for( var i = 0; i < this.files.length; i++ ){
let file = this.files[i];
var imgData = '';
if ( i > 0 ) file_title = file_title + ' ' + i;
formData.append('images', file);
formData.append('mod_name', mod_name);
formData.append('mod_id', mod_id);
formData.append('title', file_title);
$.ajax({
url: url,
data: formData,
contentType: false,
processData: false,
enctype: 'multipart/form-data',
type: "POST",
success: function (data) {
var response = jQuery.parseJSON(data); console.log(this.myUploadData);
imgData = response.imgData;
if ( response.code == 1 ) {
SwalAlert.fire({
icon: 'error',
title: response.text,
})
} else {
SwalAlert.fire({
icon: 'success',
title: response.text,
})
}
},
error: function (jqXHR, textStatus, errorThrow) { //console.log(errorThrow);
SwalAlert.fire({
icon: 'error',
title: 'Có lỗi xảy ra khi upload! Vui lòng thử lại sau',
})
}
})
console.log(this.myUploadData);
//this.myUploadData.push(imgData);
}
},
在函数中我记录了 vuejs 变量 2 次,1 次有效,1 次无效
这里是我在浏览器中测试的结果
谁能告诉我我的脚本有什么问题? 我想访问 this.myUploadData 并将返回对象推送到这个变量 谁能帮我解决这个问题!
【问题讨论】:
-
这能回答你的问题吗? Access Vue Instance Using this
-
这对我不起作用:(
-
你能解释一下什么不起作用吗?您已将
success: function (data) {更改为success: data => {并将this.myUploadData.push(imgData);移动到成功回调中,但它仍然无法正常工作? -
是的,没错,错误日志告诉我this.myUploadData is not defined
-
您是否在Vue instance data 中定义了
myUploadData?您能否更新您的问题以显示?