访问项目路径时候,无缘无故在在前一个页面的基础上拼接路径

博客讲述了从a页面跳转到b页面时,链接地址出现拼接错误的问题。正常链接与实际打开链接不同,先怀疑是window.open()方法问题,添加http://无法解决,后定位到后台传值的relurl,推测当打开地址未识别到ip开头时,会默认取上一级路径拼接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从a页面跳转到b页面时候,
b页面对应的js相关代码

(注释:这里待会会涉及上一个页面的链接: 假设上一个页面***a***的地址为:localhost:8080/test/save)

b页面的相关js

var url = ${relurl};
  //后台传过来的链接relurl 后台获取的是类型ip
  // eg:localhost等
  //previewUrl  =localhost:8080/test/test.jsp是文件访问路径
  var allPath = url +':8012/onlinePreview?url='+encodeURIComponent(previewUrl);
window.open(allPath);

正常情况下打开的链接的地址应该是类似这种情况
localhost:8082/onlinePreview?url=localhost:8080/test/test.jsp;

结果打开后的链接变成了:

localhost:8080/test/:8082/onlinePreview?url=localhost:8080/test/test.jsp;
(在上一个页面的链接进行改变)

因为我那个页面的特殊性,就不讲为啥在第一时间找不出是后台传过来的relurl问题了,

(1)首先我就把他定位在了window.open()这个方法上,查到了需要在地址前面加上http://;
即:http://localhost:8080/test/:8082/onlinePreview?url=localhost:8080/test/test.jsp;
但我的情况不是这种类型,所以不能解决
参考链接:https://blog.youkuaiyun.com/The_Thinnest/article/details/78804379?utm_source=blogxgwz9
(2)后来经过一番辗转,重新定位到后台传值的relurl上
发现当url为空的时候,
本来应该allPath =:8082/onlinePreview?url=localhost:8080/test/test.jsp;
但却变成了localhost:8080/test/:8082/onlinePreview?url=localhost:8080/test/test.jsp

猜想:当打开地址的时候,没有识别到ip开头时候,会默认取上一级的路径进行拼接

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值