如何使用javascript检查URL是否可用

时间:2016-11-02 17:13:44

标签: javascript jquery

我正在尝试使用jQuery来检查URL是否可用。我使用下面的Javascript代码来验证这一点,但它仅适用于HTTP URL。如果URL是HTTPS,则失败,我收到错误alert

var backendUrl = "https://myserver:8081/app/test.jsp";
$.ajax({
    type: "GET",
    url: backendUrl
}).done(function (result) {
    console.log("working");
    window.location.href = backendUrl;
}).fail(function () {
    alert(Sorry URL is not access able");
});

有人可以告诉我一个理由和一些更准确的方法来检查网址是否可用,使用javascript。

2 个答案:

答案 0 :(得分:3)

这是我用来检查网址是否存在的内容:

function UrlExists(url, cb){
            jQuery.ajax({
                url:      url,
                dataType: 'text',
                type:     'GET',
                complete:  function(xhr){
                    if(typeof cb === 'function')
                       cb.apply(this, [xhr.status]);
                }
            });
        }

        UrlExists('-- Insert Url Here --', function(status) {
            if(status === 200) {
                -- Execute code if successful --
            } else if(status === 404) {
                -- Execute code if not successful --
            }else{
               -- Execute code if status doesn't match above --
            }
        });

有许多状态代码,因此您可以将404更改为您要匹配的任何代码,或者只是将您想要执行的代码放在最后一个其他情况下,如果状态与任何状态不匹配,则代码将执行请求的状态代码。

答案 1 :(得分:0)

你不能只使用相对路径吗?

例如app / test.jsp - https://myserver:8081/app/test.jsp

            var backendUrl = "app/test.jsp";
            $.ajax({
                type: "GET",
                url: backendUrl
            }).done(function (result) {
                console.log("working");
                window.location.href = backendUrl;
            }).fail(function () {
                alert("Sorry URL is not access able");
             });

如果您在本地环境中运行,则不太可能安装SSL。