2

この ajax ファイル アップロード フォームには、abort(); が含まれています。関数。アンカーのキャンセルをクリックするとトリガーされます。

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

このアンカーは、success 関数が「successfullyUploaded」を返すと非表示になります。

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

その時点でファイルがアップロードされ、アップロードをキャンセルするには遅すぎます。ほとんどの場合、それはかなりうまく機能します。ただし、アップロードを処理する php ページと成功データを受信するフォームを含むページでファイルをアップロードする間に誰かが「キャンセル」をクリックすると、「キャンセル」と表示されますが、実際にはアップロードは完了しています。そのため、ファイルのアップロードがたとえば 95% 完了したことを検出し、その時点で「キャンセル」アンカーを非表示にする方法があるかどうか疑問に思っていました。これはまったく可能ですか?ありがとう

4

1 に答える 1

1

中止すると、アップロードがキャンセルされ、アップロードされたファイル (存在する場合) を削除する必要があることを伝える 2 番目の AJAX 要求をサーバーに送信できます。

2 番目のリクエストから成功の応答を受け取ったら、#message を Cancelled に設定できます

于 2013-03-15T22:49:25.480 に答える