0

以下代码一直给出错误的结果。我想我正在比较两个数字变量。不是这样吗?

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

请建议为什么 if 条件总是被评估为假?

4

1 回答 1

5

你的调用parseInt()没有任何效果,因为你没有对结果做任何事情。

getfilesize = parseInt(getfilesize, 10);

是你想要的。该parseInt()函数不会(也不能)修改第一个参数。

现在,也就是说,您要处理的下一个问题是您的 ajax 调用是异步的。您需要将使用文件大小的代码放在“成功”回调中。

于 2013-01-26T05:33:45.350 回答