有时候在处理某些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 | } |