Notes for a front-end developer, esyou.net

0%

采用XMLHTTPREQUEST验证URL是否有效

有时候在处理某些URL时,可能会遇到404等情况,比如我们在国内使用谷歌地图api一样,我们在请求的时候可能会发生404问题,这个时候我们又想去判断下当前url为404的话,我们则采用其他地图的api,当然我这里所说的仅仅只是一个使用场景,可能你也会遇到其他更多场景,并且也需要验证当前URL的有效性,因此我就直接采用了XMLHttpRequest的方式进行对URL的有效性进行验证。当然对于谷歌地图这个场景,我不建议大家使用这种方法啦,毕竟谷歌地图的api总是抽风,有时候可以访问有时候又不能访问,并且经常不会出现404,基本都是延时很久,所以这个方法不适用与谷歌地图与百度地图的切换判断。
代码及其简单,并且测试也通过了,大部分情况下只要遇到404页面,到能判断到是否有效

1
let xmlhttp = new XMLHttpRequest();
2
if (xmlhttp != null) {
3
    xmlhttp.onreadystatechange = () => {
4
        if (xmlhttp.readyState == 4) {
5
            if (xmlhttp.status == 200) {
6
                console.log('验证成功,URL可用')
7
            }
8
            else {
9
                console.log("验证失败,URL不可用,错误信息:", xmlhttp.statusText);
10
            }
11
        }
12
    };
13
    xmlhttp.open("GET", url, false);
14
    xmlhttp.send(null);
15
} else {
16
    console.log('你的浏览器OUT了,不支持XMLHTTP,请更换Firefox、Chrome最新版本浏览器')
17
}