Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查文件是否存在-XMLHttpRequest_Javascript_Xmlhttprequest - Fatal编程技术网

Javascript 检查文件是否存在-XMLHttpRequest

Javascript 检查文件是否存在-XMLHttpRequest,javascript,xmlhttprequest,Javascript,Xmlhttprequest,很抱歉,过去关于这个话题的任何讨论或谷歌搜索对我都没有帮助,所以我需要在新的话题中问你们 用户有一些选择。有一个发送邮件的表单,他可以从服务器发送带有或不带附件的邮件,如果文件不存在(PDF),用户不能选择“带附件”选项 XMLHttpRequest()是我无法移动的地方 这里有一些代码,请告诉我我要做什么 $('.radio-msg-type').on('click', function(){ if($('#ful

很抱歉,过去关于这个话题的任何讨论或谷歌搜索对我都没有帮助,所以我需要在新的话题中问你们

用户有一些选择。有一个发送邮件的表单,他可以从服务器发送带有或不带附件的邮件,如果文件不存在(PDF),用户不能选择“带附件”选项

XMLHttpRequest()是我无法移动的地方

这里有一些代码,请告诉我我要做什么

                $('.radio-msg-type').on('click', function(){
                        if($('#fullQuotation').is(':checked')) {
                                var http = new XMLHttpRequest();
                                http.open("GET",pdf_file,true);
                                http.send();
                                if ( http.status==404 ) {
                                   alert('not found');
                                } else {
                                   alert('found');
                                }
                        }
                if($('#justMessage').is(':checked')) {
                        }
                });

如果您已经在使用jQuery,那么不妨利用它的
$.ajax
功能

$('.radio-msg-type').on('click', function(){
  if ($('#fullQuotation').is(':checked')) {
    $.ajax({
      url: pdf_file,
      type: 'HEAD'
    }).done(function(){
      alert('found');
    }).fail(function(){
      alert('not found');
    });
  }
});

加载页面时,服务器应执行此操作。由于请求是异步的,因此您必须使用其事件来测试响应。-@Diodeus,是的,是的,但当用户使用页面时,可能会“丢失”文件。。如果可以在单击时进行验证,我会很高兴。@JonathanLonowski,我认为open(“,”,true)表示同步请求。也许我看起来像个白痴,但这对我来说是非常未知的…:/@user3424754作为同步请求的第三个参数。该参数的默认值为
true
,因此您可以将其视为必须明确选择退出以更改模式。感谢您的回答,我以前已经尝试过此解决方案,但它不起作用。是否取决于所用jQuery版本的功能?我的意思是当然可以,但是1.8.3呢?