我正在使用blueimp's Jquery file upload plugin。对于添加文件,有许多不同的回调。例如:
$('#fileupload').bind('fileuploaddone', function (e, data) {/* ... */})
我想绑定一个回调,告诉我文件是否已被成功删除,但我搜索了文档,但找不到任何看起来像这样做的东西。任何人都知道我该怎么做?
更新: 我应该说上面的代码只返回UPLOADING文件。删除文件不会返回任何事件。这就是我想尝试并实现为bluimp的源代码。
回调的源代码在https://github.com/blueimp/jQuery-File-Upload/blob/master/js/jquery.fileupload-ui.js
答案 0 :(得分:2)
为了总结先前的注释,回调函数是将通过事件fileuploaddone
处理从服务器接收的数据的函数。因此,您将拥有这样的代码:
$('#fileupload').bind('fileuploaddone', callbackfunc);
// Your callback function
function callbackfunc(e, data) {
/* your code, like : if (data.kind === "error") alert(data.message); */
}
但你可以通过匿名函数缩短它:
$('#fileupload').bind('fileuploaddone', function (e, data) {/* your code, like : if (data.kind === "error") alert(data.message); */})
修改强>
对于删除,回调可以与事件fileuploaddestroy
绑定(请参阅此页:BlueImp options)。
答案 1 :(得分:1)
如果仍然有人在寻找,我找到了解决方案,方法是将jquery.fileupload-ui.js文件中“ destroy”函数中的“ removeNode”函数声明更改为:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@1,300&display=swap" rel="stylesheet">
<div id="result"></div>
然后仅添加“ fileuploaddestroyed”事件,数据将包含服务器响应,而不是原始表单数据