数字比较给出错误的结果(javascript)

raj*_*eev 0 javascript

以下代码始终给出错误结果.我想我正在比较两个数字变量.那不是这样吗?

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>');
}
Run Code Online (Sandbox Code Playgroud)

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

Poi*_*nty 5

您的通话parseInt()无效,因为您对结果不做任何操作.

getfilesize = parseInt(getfilesize, 10);
Run Code Online (Sandbox Code Playgroud)

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

现在,那就是说,你想要处理的下一个问题是你的ajax调用是异步的.您需要将使用文件大小的代码放在 "success"回调中.