![](/img/trans.png)
[英]Creating upload button and progress bars using jQuery-File-Upload plugin
[英]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
如果這些屬性( total
和loaded
)是正確的,那么它應該給你你想要的行為。
編輯:為了澄清發生了什么,如果這回答了您的問題: +
運算符根據其操作數的數據類型以不同的方式運行。 如果你+
兩個數,它可以作為一個算術加法運算符。 如果其中一個運算符是字符串, +
將首先將其他操作數更改為字符串,然后將它們連接起來。 最終結果將是一個字符串,而不是一個數字。
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.