js 判断服务器文件是否存在问题

昨天做项目,在网上搜索js判读文件是否存在问题,有许多答案几乎都是一样的:

var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET",yourFileURL,false);
xmlhttp.send();
if(xmlhttp.readyState==4){ 
if(xmlhttp.status==200)s+=" 存在."; //url存在 
else if(xmlhttp.status==404)s+=" 不存在."; //url不存在 
else s+="";//其他状态 
} 
alert(s);


实际上,运行一下文件就会知道,当js执行到new ActiveXObject("Microsoft.XMLHTTP")是,在某些浏览器上就会停止执行下一步。

在我们使用的浏览器有IE内核和非IE内核,这可能就是原因。

翻阅以前的Ajax,发现Ajax也创建了一个xmlhttp对象,那么这里就可以判断一下浏览器的类型问题就解决了。

function isExistFile(filepath)
{
    var xmlhttp;
    if (window.XMLHttpRequest){
      xmlhttp=new XMLHttpRequest();
    }else{
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.open("GET",filepath,false);
    xmlhttp.send();
    if(xmlhttp.readyState==4){  
        if(xmlhttp.status==200) return true; //url存在  
        else if(xmlhttp.status==404) return false; //url不存在  
        else return false;//其他状态  
    }
}


这样就OK了

本人不才,写的不是很完善,如有意见,请提出


你可能感兴趣的:(js 判断服务器文件是否存在问题)