我有這個帶有abort()的ajax文件上傳表單;功能。可通過單擊取消錨觸發:使ajax上傳abort-able只能在上傳進度完成之前
$('#cancel').click(function(){
ajaxFileUpload.abort();
$('#message').html('cancelled');
});
而且這種定位的是時隱時現的成功函數返回「successfullyUploaded」:
if(response == 'successfullyUploaded') {$('#cancel').hide(); });
此時文件上傳和爲時已晚取消上傳。大多數情況下,它工作得很好。但是,如果有人在處理上傳的php頁面上的文件上傳和包含接收成功數據的表單的頁面之間的瞬間點擊「取消」,它會說「取消」,但實際上上傳已完成。所以我想知道是否有某種方法可以檢測文件上傳的時間,比如95%完成,並且在那個時候隱藏'取消'定位符。這是可能嗎?謝謝
是的,它是非常有可能的,但我不會要求它是最好的選擇。成功上傳和獲取數據之間的時間跨度應該在平均200ms以上。我個人不會擔心這一點,但如果必須的話,我會發送另一個Ajax請求,當你點擊取消按鈕,以確保上傳尚未完成之前'取消'上傳。 – 2013-03-15 22:11:12
我知道這似乎有點微不足道。我只是不喜歡這樣的想法,即萬一發生這種情況,用戶會得到不正確的信息 – user2014429 2013-03-15 22:15:04
我明白了。這是有點難以重現,否則我會深入瞭解。 – 2013-03-15 22:18:15