以下代码始终给出错误结果。我想我正在比较两个数字变量。是不是这样?
var request; var getfilesize; var maxdisplaysize=2097152;
request = $.ajax({
type: "HEAD",
url: getfile,
success: function () {
getfilesize = request.getResponseHeader("Content-Length");
console.log("Size is" + getfilesize+'xxx');
}
});
parseInt( getfilesize, 10 );
if ( getfilesize < maxdisplaysize ) {
$("#displayfile").load(getfile);
console.log('file size less then 2mb 2097152bytes');
} else {
$("#displayfile").append('<p>sorry large file<p>');
}
Pl建议为什么if条件总是被评估为假?
答案 0 :(得分:5)
您对parseInt()
的通话无效,因为您对结果不做任何操作。
getfilesize = parseInt(getfilesize, 10);
是你想要的。 parseInt()
函数没有(和不能)修改第一个参数。
现在,那就是说,你想要处理的下一个问题是你的ajax调用异步。您需要将使用文件大小的代码放在“成功”回调中。