如何使用javascript检查URL是否存在

如何使用javascript检查URL是否存在,javascript,html,google-chrome,Javascript,Html,Google Chrome,我需要检查URL是否存在,如果不存在,则重定向用户。我们支持各种浏览器(如Chrome、Firefox等),因此解决方案需要能够支持所有这些浏览器。在页面标题中,放置以下javascript代码: <script type="text/javascript"> // Creates an object which can read files from the server var reader = new XMLHttpReques

我需要检查URL是否存在,如果不存在,则重定向用户。我们支持各种浏览器(如Chrome、Firefox等),因此解决方案需要能够支持所有这些浏览器。

在页面标题中,放置以下javascript代码:

        <script type="text/javascript">

        // Creates an object which can read files from the server
        var reader = new XMLHttpRequest();

        var checkFor = "fileToCheckFor.html";

        // Opens the file and specifies the method (get)
        // Asynchronous is true
        reader.open('get', checkFor, true);

        //check each time the ready state changes
        //to see if the object is ready
        reader.onreadystatechange = checkReadyState;

        function checkReadyState() {

            if (reader.readyState === 4) {

                //check to see whether request for the file failed or succeeded
                if ((reader.status == 200) || (reader.status == 0)) {

                //page exists -- redirect to the checked
                //checked for page
                document.location.href = checkFor;

                }
                else {

                //does nothing and quits the function
                //if the url does not exist
                return;

                }

            }//end of if (reader.readyState === 4)

        }// end of checkReadyState()

        // Sends the request for the file data to the server
        // Use null for "get" mode
        reader.send(null);

    </script>

//创建可以从服务器读取文件的对象
var reader=new XMLHttpRequest();
var checkFor=“fileToCheckFor.html”;
//打开文件并指定方法(get)
//异步是正确的
reader.open('get',checkFor,true);
//每次就绪状态更改时检查
//查看对象是否已准备就绪
reader.onreadystatechange=checkReadyState;
函数checkReadyState(){
if(reader.readyState==4){
//检查文件请求是否失败或成功
if((reader.status==200)| |(reader.status==0)){
//页面存在--重定向到选中的
//检查页面
document.location.href=checkFor;
}
否则{
//不执行任何操作并退出该函数
//如果url不存在
返回;
}
}//if结束(reader.readyState==4)
}//checkReadyState()的结尾
//将文件数据请求发送到服务器
//对“get”模式使用null
reader.send(空);

这允许您检查服务器上是否存在页面,如果存在,则重定向到该页面。如果页面不存在,javascript代码将不执行任何操作,并允许加载当前页面


编辑:修复错误并重写部分代码,以保持清晰、外观和实用性。

我需要检查路径是否存在
这意味着什么?文件路径?URL?我需要检查URL是否存在可能我没有正确解释自己,我有客户端访问我的网站,我想重定向到服务器上的另一个位置(即…。\MyOtherFolder\index.html),但首先我想验证此相对URL位置是否存在,如果存在,我希望将它们重定向到该位置,否则将重定向到默认位置。不幸的是,我从未获得readystate==4,我有一个部分url,该url存在于某个事实中。您试图检查的文件位置是什么?请显示目录和所有目录。我使用的是相对路径,如“..\Mobile\index.html”看起来不像。主要是由于防止跨域脚本攻击。