是使用springMVC框架时,有时候需要在js中使用window.location.href来请求url,比如下面的路径:
window.location.href = ‘forecast/download.do’
在谷歌浏览器下,实际请求的路径是:项目名/forecast/download.do
而在IE下访问时在中间多了好几层文件夹:
造成这种情况的原因是各种浏览器在使用window.localtion.href请求相对路径时处理方法不同
IE是从当前当前路径开始跳转
谷歌是从根目录开始跳转
所以最好的方法是使用绝对路径,让他们都从根目录开始跳转:
<script type="text/javascript">
function getPath(){
var path = "<%=path%>";
return path;
}
</script>
<script type="text/javascript">
var path = getPath()+"/";
var url = path+'forecast/download'
window.location.href = encodeURI(url);
</script>