我现在所拥有的第一个URL测试,但是,如果第一个URL不存在,我不知道如何测试第二个URL。
var str = document.title.replace(/ | My Site/i, '');
var title = str.replace(/ /g, '-');
var finish = title.toLowerCase();
var banner = finish.split('-', 1)[0]
var address = "http://example.com/images/" + finish + ".jpg";
var banneraddress = "http://example.com/images/" + banner + "-banner.jpg";
$.ajax({
type: 'HEAD',
url: address,
success: function() {
// Primary URL exists
document.getElementById("TRY").src = address;
},
error: function() {
$.ajax({
type: 'HEAD',
url: banneraddress,
success: function() {
// Secondary URL exists
document.getElementById("TRY").src = banneraddress;
},
error: function() {
// Both failed
null
}
});
}
});
如果用户加载页面并且/images/page-title.jpg存在,则需要发生的事情是,它会将src添加到ID为“TRY”的图像中。
如果该测试失败,如果/images/page-banner.jpg存在,则将该src添加到图像
而且,就目前而言,如果两项工作都没有做任何事情。
答案 0 :(得分:0)
只需将您的AJAX逻辑移动到单独的功能,稍后您可以询问该功能是否存在两个图像,如果它们存在,您可以更改图像的src
属性。
E.g。
if( checkIfImageExists(address) && checkIfImageExists(banner_address) ) {
// both images exists, change src attribute
} else {
// both images do not exists, do something else
}
您应修改success
和error
个回调以返回true
或false
。