Javascript 在jquery文件上传插件中,进度回调始终显示100%上传

Javascript 在jquery文件上传插件中,进度回调始终显示100%上传,javascript,jquery,jquery-plugins,file-upload,Javascript,Jquery,Jquery Plugins,File Upload,我想为blueimp jquery文件上传插件实现一个进度条,但是在上传开始并且data.load==data.total之后,progress回调只会立即触发一次 <input data-url="/ads/32/photos" id="image" name="image" type="file" /> $(".upload-btn input").fileupload({ dataType: "json", progress: function (e, dat

我想为blueimp jquery文件上传插件实现一个进度条,但是在上传开始并且data.load==data.total之后,
progress
回调只会立即触发一次

<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");
    }
});

$(“.upload btn input”).fileupload({
数据类型:“json”,
进度:功能(e、数据){
警报(data.loaded+“/”+data.total);
},
完成:功能(e,数据){
警惕(“完成”);
}
});
几秒钟后(当上传完成时),启动done回调,我可以通过服务器日志确认上传成功。当我尝试使用
progressall
回调时,也会得到相同的行为

不确定它是否相关,但我目前没有包括jquery.fileupload-fp.js库,因为添加了它可以防止任何上传活动的发生


你知道我做错了什么吗?

是进度函数
警报
ing字符串“100%”吗?我不熟悉这个插件,但是
progress
函数的
alert
中的表达式将所有内容转换为
String
类型。所以我希望它显示字符串“x/y”

在任何情况下,您都应该将
进度
功能更改为

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

嘿@chris,你能解决这个问题吗?我面临着同样的问题。可能是重复的