之前遇到一个问题,js获取文件url,本地调试的时候获取的路径是正确的,但是发布到IIS上,发现获取的url中少了一个网站的名称(就是建立虚拟目录的名称),
例如: 正确的url是:http://192.168.2.113/Calendars/Helps/CheckUser.ashx
但是我获取的是: http://192.168.2.113/Helps/CheckUser.ashx
解决方法如下:
定义一个JS函数,用于返回文件的路径,这样在本地和IIS上都能返回正确的URL。
function getUrl()
{
var pathName = window.location.pathname.substring(1);
var webName = pathName == '' ? '' : pathName.substring(0, pathName.indexOf('/'));
var url= window.location.protocol + '//' + window.location.host + '/'+ webName;
if(webName=="" || webName==null)
{
url=url+"Helps/CheckUser.ashx";
}
else
{
url=url+"/Helps/CheckUser.ashx";
}
return url;
}