使用jquery ajax在服务器上的文件夹上存在检查文件

时间:2015-05-06 13:31:32

标签: javascript jquery ajax

我正在尝试使用ajax检查服务器上是否存在文件。我用过下面的脚本 我的服务器名称就像 www.Mydomain.netp / Application_Folder /

 var fileobj="../invoices/"+filename+".pdf";

  var pdfurl;
     $.ajax({
      url: fileobj, //or your url
    success: function(data){

     alert('exists');
   pdfurl = "http://Mydomain.orgi/Application_Folder/Invoices/" + Invoiceid + ".pdf";

         window.open(pdfurl, "PopupWindow", "width=600,height=600,scrollbars=yes,resizable=no");

     },
      error: function(data){



            alert('does not exists');

               pdfurl = "http://AnotherDomain.orgi/Invoices/" + Invoiceid + ".pdf";
                 window.open(pdfurl, "PopupWindow", "width=600,height=600,scrollbars=yes,resizable=no");
   },
 });

如果文件存在那个时间我也会进入错误部分, 任何其他替代方法来做到这一点。以上脚本与localhost完美但不适用于生产环境

1 个答案:

答案 0 :(得分:0)

您提供的代码段似乎使用来自两个不同域的调用" Mydomain.orgi"和#34; AnotherDomain.orgi"。您需要检查要请求的另一台服务器是否遵循CORS。我将建议控制/调试您的代码以及另一个使用名为Invoiceid的变量的小事。请检查这是否也能很好地解决。

只要检查文件存在并且您已经在页面上包含了jquery,我就会尝试以下

$.get( "ajax/test.html", function( data ) {
  $( ".result" ).html( data );
  alert( "Load was performed." );
});

如果我遵循承诺模式,我会选择以下内容:

var jqxhr = $.get( "example.php", function() {
  alert( "success" );
})
  .done(function() {
    alert( "second success" );
  })
  .fail(function() {
    alert( "error" );
  })
  .always(function() {
    alert( "finished" );
  });

了解更多here