Javascript 使用jquery检查文件并处理结果

Javascript 使用jquery检查文件并处理结果,javascript,jquery,get,delay,Javascript,Jquery,Get,Delay,我想检查是否存在具有特定扩展名的图像,如果存在,我想提醒该扩展名,否则为“未知”。 代码的检测部分工作正常,但是当我第一次警告imagevar时,var为空,当我添加另一个警告时,var具有正确的值 $.get命令完成需要多长时间,或者延迟是从哪里来的 var extension = 'jpg'; var url = 'someimagefile.' + extension; var imagevar = ''; $.get(url) .done(function() { image

我想检查是否存在具有特定扩展名的图像,如果存在,我想提醒该扩展名,否则为“未知”。 代码的检测部分工作正常,但是当我第一次警告imagevar时,var为空,当我添加另一个警告时,var具有正确的值

$.get命令完成需要多长时间,或者延迟是从哪里来的

var extension = 'jpg';
var url = 'someimagefile.' + extension;
var imagevar = '';

$.get(url)
  .done(function() {
   imagevar = extension; 
    })
  .fail(function() {
    imagevar = 'unknown'; 
    });

alert(imagevar);
alert(imagevar);

在为imagevar赋值后,您需要在回调中使用警报,否则您的警报命令很可能会在$.get完成之前发出,从而imagevar被赋值

因此,请确保将任何需要$.get结果的代码放入回调中

var extension = 'jpg';
var url = 'someimagefile.' + extension;
var imagevar = '';

$.get(url)
  .done(function() {
   imagevar = extension; 
   alert(imagevar);
    })
  .fail(function() {
    imagevar = 'unknown'; 
    alert(imagevar);
    });

警告语句出现在get调用返回之前。为.done和.fail指定的函数在响应返回后将被调用。现在,$.get()进入服务器,然后在响应返回之前执行alert()语句。尝试:

$.get(url)
    .done(function() {
        alert(extension); 
    })
    .fail(function() {
        alert('unknown'); 
    });

将警报移动到完成/失败-然后阅读异步与同步让我来为您介绍:@Servani:exaclty在该线程中,我在下面()找到了一些帖子,说明应该使用.get方法。错了吗?