我在尝试删除调用数据库后传递dropzone.js的文件时遇到问题。
当我导航到该页面并上传新图像然后将其删除而不刷新页面时,它将按预期工作。
以下是我目前的上传方法
myDropzone.on("success", function (file, response) {
console.log(response);
file.serverId = response;
});
这是执行console.log(响应)后的响应内部;
Object { UniqueId="evgopvdjfs1w9sos3jt5"}
哪个是正确的。
现在当我按F5并刷新页面时,我使用以下代码片段填充dropzone,该片段会返回我刚刚上传的图片。
$.getJSON("/Person/GetPreviews/").done(function (data) {
if (data.Data != '') {
$.each(data.Data, function (index, item) {
var UniqueId = item.ImageName;
var mockFile = {
name: item.ImageName,
serverId: UniqueId // This is what I need to delete the image
};
console.log(mockFile);
// Call the default addedfile event handler
myDropzone.emit("addedfile", mockFile);
// And optionally show the thumbnail of the file:
myDropzone.emit("thumbnail", mockFile, item.ImageUrl);
myDropzone.files.push(mockFile);
});
}
});
现在我做console.log(mockFile);如下所示,这是正确的。
Object { name="evgopvdjfs1w9sos3jt5", UniqueId="evgopvdjfs1w9sos3jt5"}
现在,在删除文件时,这是我当前的删除功能
removedfile: function (file) {
console.log(file);
$.ajax({
type: 'POST',
url: '@Url.Action("DeleteUploadedFile", "Person", new {userId= @Model.UserId})',
data: "id=" + file.serverId['UniqueId'],
dataType: 'html',
});
var ref;
return (ref = file.previewElement) != null ? ref.parentNode.removeChild(file.previewElement) : void 0;
},
现在,当我从数据库中按预先填充的图像上的删除文件时,它会在
上引发错误data: "id=" + file.serverId['UniqueId'],
说它的底层,我个人无法看到,因为两个console.logs都显示了UniqueId,这让我想知道当我用图像预先填充dropzone时我是否遗漏了什么?
如你所见,我有一个console.log(文件);在删除功能中,当命中时显示以下
Object { name="evgopvdjfs1w9sos3jt5", UniqueId="evgopvdjfs1w9sos3jt5"}
有谁能看到什么错?