Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用网站url查找文件夹_Javascript - Fatal编程技术网

Javascript 如何使用网站url查找文件夹

Javascript 如何使用网站url查找文件夹,javascript,Javascript,我的网站上有UpFiles文件夹 我想在下面的代码中定义struploadurl 当我在localhost上运行这个网站时,它工作得很好 但当我在不同的服务器上部署我的网站时,它将不起作用,所以我在代码中使用了“window.location.href” function Initialisation() { // Want path same as below like url. // var struploadurl = "http://localhost/MyProje

我的网站上有UpFiles文件夹

我想在下面的代码中定义struploadurl

当我在localhost上运行这个网站时,它工作得很好

但当我在不同的服务器上部署我的网站时,它将不起作用,所以我在代码中使用了“window.location.href”

  function Initialisation() {   
  // Want path same as below like url.
  //  var struploadurl = "http://localhost/MyProject/UpFiles/uploadsave.aspx";      
  // where arr[0] = http , arr[2] =Server Name and arr[3] =Projectname  

    var url = window.location.href;
    var arr = url.split("/");         
    var result = arr[0] + "//" + arr[2] + "//" + arr[3];
    var strPath = result + "/UpFiles/uploadsave.aspx";
    alert(strPath);    

}
问题是,当我使用这个端口网站,所以它不会工作。我想要一个通用的解决方案,这样当我的网站没有端口或也使用端口部署时,我就可以得到struploadurl

例如,当我使用部署我的站点时“htp://Servrname/MyProject“那么上面的代码就可以工作了


当我使用“”部署我的站点时htps://ehost.test.com:446/“那么上述代码将无法工作。

使用windows.location对象。它具有标识主机和端口所需的所有属性,而不是尝试手动解析url字符串

host : localhost:800"   
hostname : "localhost"  
href : "http://localhost:800/test/"
pathname : "/test/"
port :"800"
protocol : "http:"  
search : ""
试试这个:

function Initialisation() {   
  // Want path same as below like url.
  //  var struploadurl = "http://localhost/MyProject/UpFiles/uploadsave.aspx";      
  // where arr[0] = http , arr[2] =Server Name and arr[3] =Projectname  

    var url = window.location.href;

    var strPath = "/UpFiles/uploadsave.aspx";
    var host = location.protocol+'//'+location.hostname+(location.port ? ':'+location.port: '');;
    var relativePath = url.substr(host.length+1,url.length - host.length-1);
    var rootFolder = relativePath.substr(0,relativePath.indexOf("/"));
    result = host + "/" + rootFolder + strPath;

    alert(rootFolder);    
    alert(relativePath);    
    alert(result);    

}
function Initialisation() {   
  // Want path same as below like url.
  //  var struploadurl = "http://localhost/MyProject/UpFiles/uploadsave.aspx";      
  // where arr[0] = http , arr[2] =Server Name and arr[3] =Projectname  

    var url = window.location.href;

    var strPath = "/UpFiles/uploadsave.aspx";
    var host = location.protocol+'//'+location.hostname+(location.port ? ':'+location.port: '');;
    var relativePath = url.substr(host.length+1,url.length - host.length-1);
    var rootFolder = relativePath.substr(0,relativePath.indexOf("/"));
    result = host + "/" + rootFolder + strPath;

    alert(rootFolder);    
    alert(relativePath);    
    alert(result);    

}