簡體   English   中英

進度回調始終在 jquery-file-upload 插件中顯示 100% 上傳

[英]progress callback always shows 100% upload in jquery-file-upload plugin

我想為 blueimp jquery-file-upload 插件實現一個進度條,但progress回調只在上傳開始和 data.loaded == data.total 后立即觸發一次。

<input data-url="/ads/32/photos" id="image" name="image" type="file" />

$(".upload-btn input").fileupload({
    dataType: "json",
    progress: function (e, data) {
        alert(data.loaded + "/" + data.total);
    },
    done: function (e, data) {
        alert("done");
    }
});

幾秒鍾后(上傳完成時)完成回調被觸發,我可以通過服務器日志確認上傳成功。 當我嘗試使用progressall回調時,我也得到了相同的行為。

不確定它是否相關,但我目前不包括 jquery.fileupload-fp.js 庫,因為添加它可以防止任何上傳活動發生。

知道我做錯了什么嗎?

進度函數是否alert字符串“100%”? 我不熟悉該插件,但是progress函數的alert表達式將所有內容都轉換為String類型。 所以我希望它顯示字符串“x/y”。

在任何情況下,您都應該將progress功能更改為

alert( data.loaded / data.total ); // no quotes, no +'s

如果這些屬性( totalloaded )是正確的,那么它應該給你你想要的行為。

編輯:為了澄清發生了什么,如果這回答了您的問題: +運算符根據其操作數的數據類型以不同的方式運行。 如果你+兩個數,它可以作為一個算術加法運算符。 如果其中一個運算符是字符串, +將首先將其他操作數更改為字符串,然后它們連接起來。 最終結果將是一個字符串,而不是一個數字。

var two = "2"; // two is a String data type
alert(two + 2); // Returns "22" as a String

var two = 2;
alert(two + 2); // Returns 4

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Addition

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM