2

我有这个带有 abort() 的 ajax 文件上传表单;功能。这是通过单击取消锚点触发的:

   $('#cancel').click(function(){ 
     ajaxFileUpload.abort();
     $('#message').html('cancelled');
 });

当成功函数返回“successfullyUploaded”时,该锚点被隐藏:

if(response == 'successfullyUploaded') {$('#cancel').hide(); });

此时文件已上传,取消上传为时已晚。在大多数情况下,它工作得很好。但是,如果有人在处理上传的 php 页面上上传的文件与包含接收成功数据的表单的页面之间的瞬间单击“取消”,它将显示“已取消”,但实际上上传已完成。所以我想知道是否有某种方法可以检测文件上传何时完成,例如,完成 95%,然后隐藏“取消”锚点。这是可能吗?谢谢

4

1 回答 1

1

中止时,您可以向服务器发送第二个 AJAX 请求,告知上传已取消并且必须删除上传的文件(如果存在)。

当您收到来自第二个请求的成功响应时,您可以将#message设置为取消

于 2013-03-15T22:49:25.480 回答