在同一个域名下,JSP来回跳转,传值,调用方法很简单,很多人也都会,
先来说一下我的跨域应用的场景和环境
环境:easyUI的JSP页面的跳转(两个不同域名的JSP),并且还要子页面调用父页面的方法,
我的任务是父页面跨域跳转子页面,然后子页面在回调父页面方法,完成操作
父页面跨域跳转的代码:使用的是原生的JS方法
window.open(url,name,'height='+iHeight+',,innerHeight='+iHeight+',width='+iWidth+',innerWidth='+iWidth+',top='+iTop+',left='+iLeft+',toolbar=no,menubar=no,scrollbars=auto,resizeable=no,location=no,status=no');
子页面向父页面传值的代码:
//跨域使用此方法传值
window.opener.postMessage('${param.order_ids}','*');
在此处强调一下postMessage方法的使用,此方法有两个参数,都是必传,否则会报错,第一个参数是你所传递的值,第二个参数是对应的域名,你也可以用*代替,*代表任何域名都可以,如果你写一个域名,只能是这个域名可以传值,
此外,再父页面还需要接收此方法的传值
//跨域接收信息
window.addEventListener('message',function(e){
printGoodsOrder(e.data);
});
此方法用于接收postmessage方法的值,e.data就是子页面传过来的值,