XMLHttpRequest只检查服务器是否连接,不检查URL

XMLHttpRequest only check server is connect or not, It is not check the URL

本文关键字:不检查 URL 连接 是否 检查 服务器 XMLHttpRequest      更新时间:2023-09-26
function check()
{
    if (window.XMLHttpRequest){
            // code for IE7+, Firefox, Chrome, Opera, Safari
                var request = new XMLHttpRequest();
        }
        else{
            // code for IE6, IE5
            var request = new ActiveXObject("Microsoft.XMLHTTP");
        }
        dname="http://www.w3schools.com/js/default/gfdghkjfdh.html";
        request.open("HEAD", dname,true);
        request.send();
        if(request.status !== 404){ 
            window.location.href=dname;
        }
        else{
            window.location.href="http://www.google.com";
        }
    }    

以上代码只检查服务器是否连接,它不检查URL的最后一部分"gfdghkjfdh.html"是否可用。

有任何方法来检查URL "http://www.w3schools.com/js/default/gfdghkjfdh.html"正确使用javascript或任何客户端技术。谁来帮帮我

以上代码只检查服务器是否连接,它不检查URL的最后一部分"gfdghkjfdh.html"是否可用。

不,没有。XHR向第三方服务器发出HTTP请求,不获得CORS头,允许它将从该服务器获得的信息暴露给运行在其他人页面上的JavaScript,然后不将状态暴露给脚本。

有任何方法可以使用javascript或任何客户端技术正确检查URL "http://www.w3schools.com/js/default/gfdghkjfdh.html"

JavaScript ?没有。

其他客户端技术?也许。

经过签名的Java applet可能能够(如果用户运行在支持Java的平台上(因此不是移动设备),并且安装了Java,并接受安全警报,并且首先允许在浏览器中使用Java(这不是一个好主意,因为它最近出现了许多安全问题))。

ActiveX控件可能能够(如果用户在Windows上运行足够旧的Internet Explorer版本,并且接受安全警报)。

Flash…可能不能。我认为它需要一个crossdomain.xml文件来给它权限。

那么,其他客户端技术呢?有可能,但没有任何实际意义。

您可以向您自己的服务器发送XMLHttpRequest,然后让您自己的服务器尝试联系第三方服务器。这将增加您自己服务器的负载,有时您的服务器与第三方服务器之间的连接将不同于它与客户端之间的连接。