Javascript 通过使用jQuery/JS检查两种不同的命名约定来检查文件是否存在
我正在尝试为多个用户构建个人资料页面,其中包括存储在服务器上的个性化照片/项目。这些项目使用用户名进行标记/命名。用户有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;Javascript 通过使用jQuery/JS检查两种不同的命名约定来检查文件是否存在,javascript,jquery,logic,Javascript,Jquery,Logic,我正在尝试为多个用户构建个人资料页面,其中包括存储在服务器上的个性化照片/项目。这些项目使用用户名进行标记/命名。用户有FirstName&LastName,可以选择使用PreferredName 最初,如果存在首选名称,则使用PreferredName而不是Firstname来命名项目。ex:Fname:Robert;姓名:史密斯;名字:鲍比;FileName=SmithBobby.file 不幸的是,用户现在可以将其配置文件上的名称从PreferredName更改回FirstName,这导致
如果第一个链接失败,您应该能够通过检查第二个链接来扩展检查第一个链接的当前函数。如果第二个也失败了,那么您可以删除该条目
$.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。谢谢