3

jQueryフォームプラグインを使用して非同期ファイルアップロードを行っています。現在、ユーザーがそのアップロードを中止する唯一の方法は、ブラウザの[停止]ボタンを押すことです。これにより、他のjavascriptおよびajaxリクエストも停止する可能性があります。キャンセルボタンを提供したいのですが、APIを使用してアップロードが行われているため、アップロードをキャンセルする方法が見つかりません。

アップロードが発生したときにキャンセルするための組み込みの方法、または少なくとも使用できる堅牢なハックはありますか?

4

2 に答える 2

5

このajaxFormメソッドは、jQuery.ajaxが取るのと同じオプションをすべて使用するため、ハンドラーxhrで生成するダミーをキャプチャすることができます。beforeSendにはxhr、ファイルのアップロードを中止する中止メソッドがあります。

f.ajaxForm({
    beforeSend: function(xhr) {
        cancelBtn.click(xhr.abort);
    }});
于 2011-10-13T21:12:09.157 に答える
1

2012年12月以降、xhrに直接アクセスできるようになりました。

var form = $('#myForm').ajaxSubmit({ ... });
var xhr = form.data('jqxhr');
....
$('#cancel').on('click', function(){
    xhr.abort();
});

ajaxファイルのアップロードをキャンセルするために使用します。

リンク-https://github.com/malsup/form/issues/221

于 2015-05-18T13:31:46.170 に答える