Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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 通过使用jQuery/JS检查两种不同的命名约定来检查文件是否存在_Javascript_Jquery_Logic - Fatal编程技术网

Javascript 通过使用jQuery/JS检查两种不同的命名约定来检查文件是否存在

Javascript 通过使用jQuery/JS检查两种不同的命名约定来检查文件是否存在,javascript,jquery,logic,Javascript,Jquery,Logic,我正在尝试为多个用户构建个人资料页面,其中包括存储在服务器上的个性化照片/项目。这些项目使用用户名进行标记/命名。用户有FirstName&LastName,可以选择使用PreferredName 最初,如果存在首选名称,则使用PreferredName而不是Firstname来命名项目。ex:Fname:Robert;姓名:史密斯;名字:鲍比;FileName=SmithBobby.file 不幸的是,用户现在可以将其配置文件上的名称从PreferredName更改回FirstName,这导致

我正在尝试为多个用户构建个人资料页面,其中包括存储在服务器上的个性化照片/项目。这些项目使用用户名进行标记/命名。用户有FirstName&LastName,可以选择使用PreferredName

最初,如果存在首选名称,则使用PreferredName而不是Firstname来命名项目。ex:Fname:Robert;姓名:史密斯;名字:鲍比;FileName=SmithBobby.file

不幸的是,用户现在可以将其配置文件上的名称从PreferredName更改回FirstName,这导致大部分配置文件查找不正确的文件项实际上名为SmithBobby.file,而配置文件正在查找SmithRobert.file

话虽如此,我想使用FirstLast.file和PreferredLast.file这两种命名约定来检查项目,如果两者都不存在,它应该默认使用默认/通用照片。默认文件

下面的示例是我当前检查用户是否有简历和个人资料图片的方式。如果不存在CV,则会从页面中删除该元素。如果图像不存在,则默认为default.jpg

如果$.PageData.PreferredName==| |$.PageData.PreferredName==null{ $Name.text$.PageData.FirstName++$.PageData.LastName; document.title=$.PageData.FirstName++$.PageData.LastName++;Profile; $BioPageTitle.text$.PageData.FirstName++$.PageData.LastName; }否则{ $Name.text$.PageData.PreferredName++$.PageData.LastName; document.title=$.PageData.PreferredName++$.PageData.LastName++;配置文件; $BioPageTitle.text$.PageData.PreferredName++$.PageData.LastName; } //文件名生成 var file_name=$.PageData.LastName+$.PageData.FirstName; var second_fname=$.PageData.LastName+$.PageData.PreferredName; 文件名=文件名。替换/[^0-9a-z]/gi; second_fname=second_fname.replace/[^0-9a-z]/gi; var vita=$‘vita’; var vita_url=vita/+文件名+.pdf; var second_vitaURL=vita/+second_fname+.pdf; 变量VitaLink=$.attr{ href:vita_url, 目标:“\u blank” }.HTMLCURRIUM Vitae; $.getvita_url .donefunction{ vita.htmlvitank; }.失效函数{ 维塔。移除; }; /*照片制作/检查*/ //侧面图 var img=$'ProfilePicture'; var default_url=photos/default.jpg; var img_url=photos/+文件名+.jpg; img.error函数{ $this.attr'src',默认url; }; img.attr'src',img_url;
如果第一个链接失败,您应该能够通过检查第二个链接来扩展检查第一个链接的当前函数。如果第二个也失败了,那么您可以删除该条目

$.get(vita_url)
  .done(function() {
    vita.html(VitaLink);
  }).fail(function() {
    $.get(second_vitaURL)
      .done(function() {
        //modify the VitaLink with the correct url, if this doesn't work make a separate vitaLink type variable
        VitaLink.attr('href', second_vitaURL);
        vita.html(VitaLink);
      }).fail(function() {
        vita.remove();
      });
  });

谢谢,这工作做得很好。我试着做一些类似的事情,只是在fail函数中将main URL设置为secondURL,但无法使其工作,在同一个调用中没有同时检查这两个URL。谢谢