这是一个古老的问题。
之前用jsp开发的时候,要做页面跳转,然后他是直接跳转的目标页面,后来我需要去对他的页面进行二次修改,死活有问题,后来修改如下(增加一个中间页面,使用了frame):
首先跳转到A应用上的transition.jsp,在transition.jsp页面中有一个iframe,iframe的src指向detail.jsp
然后我最近也是遇到一个类似的,不过是B系统打开A系统的页面,因为B、A系统登陆时都是通过权限系统(统一认证系统)进行验证的,所以B打开A的页面时,直接用window.open进行打开url
url=http://xxxx/index.jsp?url=XXX.jsp?参数1=XXX?参数2…
最后处理类似于转到A应用上的transition.jsp,在transition.jsp页面中有一个iframe,iframe的src指向detail.jsp
下面是参考https://www.iteye.com/blog/dingjun1-426658:
由于系统比较大,所以很多子模块都单独运行,有时需要从子应用跳转到主应用,这时就出现了跨域访问的问题。
B应用中有一个查看详细页面,需要通过A应用来显示。B应用在服务端跳转到A应用后,A应用页面上的JS脚本不能正常运行。
情景:
B应用文件:
list.jsp,
SSOServlet.java,
A应用文件:
detail.jsp
点击B应用list.jsp中的链接,访问同应用中SSOServlet。在SSOServlet获取当前登录的信息和要访问A应用中的页面路径信息。
然后在服务端response.sendRedirect(“http://A.com/login.do?encode(username,pwd)&url=detail.jsp”);
由于detail.jsp使用了JS脚本,跳转后JS没有权限运行。
解决办法:
首先跳转到A应用上的transition.jsp,在transition.jsp页面中有一个iframe,iframe的src指向detail.jsp。
这时就可以正常访问了
不知道和域有没有关系。