ajax - 查看是否存在2个URL

时间:2015-11-18 10:56:17

标签: javascript ajax

我现在所拥有的第一个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添加到图像

而且,就目前而言,如果两项工作都没有做任何事情。

1 个答案:

答案 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
}

您应修改successerror个回调以返回truefalse