一、原问题代码
A界面 (XingQi参数为循环拼接,数据多时无法传递完整)
window.location.href = "LM210502.aspx?BusinessID=LM210501&setMenName=" + setMenName + "&RiQi=" + RiQi + "&KaiShiRiQi=" + KSRiQi + "&JieShuRiQi=" + JSRiQi + "&KaiShiShiJian=" + KaiShiShiJian + "&JieShuShiJian=" + JieShuShiJian + "&XingQi=" + Weeks + "&ShiYanShiID=" + ShiYanShiID + "&flag=" + flag;
B界面
var flag = $.getUrlVar("flag");
var ShiYanShiID = $.getUrlVar("ShiYanShiID");
var KaiFangShiJianID = $.getUrlVar("KaiFangShiJianID");
var KaiShiRiQi = decodeURIComponent($.getUrlVar("KaiShiRiQi"));
var JieShuRiQi = decodeURIComponent($.getUrlVar("JieShuRiQi"));
var KaiShiShiJian = $.getUrlVar("KaiShiShiJian");
var JieShuShiJian = $.getUrlVar("JieShuShiJian");
var XingQi = $.getUrlVar("XingQi");
var RiQi = $.getUrlVar("RiQi");
二、解决办法
1.由于这两个界面都是iframe,因此在外层父界面加一个js的json对象变量,在a界面进行赋值,在b界面进行调用;
2.如果没有父界面,添加一个js文件来定义一些共享变量也是可以的 ;
代码如下:
父界面:
<script type="text/javascript">
// LM210501分配数据 LM210502使用
var jsonLM210501 = {};
</script>
A界面:
parent.jsonLM210501 =
{
"BusinessID": "LM210501",
"setMenName": setMenName,
"RiQi": RiQi,
"KaiShiRiQi": KSRiQi,
"JieShuRiQi": JSRiQi,
"KaiShiShiJian": KaiShiShiJian,
"JieShuShiJian": JieShuShiJian,
"XingQi": Weeks,
"ShiYanShiID": ShiYanShiID,
"flag": flag
};
window.location.href = "LM210502.aspx";
B界面:
var flag = parent.jsonLM210501.flag;
var ShiYanShiID = parent.jsonLM210501.ShiYanShiID;
var KaiFangShiJianID = parent.jsonLM210501.KaiFangShiJianID;
var KaiShiRiQi = parent.jsonLM210501.KaiShiRiQi;
var JieShuRiQi = parent.jsonLM210501.JieShuRiQi;
var KaiShiShiJian = parent.jsonLM210501.KaiShiShiJian;
var JieShuShiJian = parent.jsonLM210501.JieShuShiJian;
var XingQi = parent.jsonLM210501.XingQi;
var RiQi = parent.jsonLM210501.RiQi;
注:感觉这样改动最稳妥,另js所有变量及函数名都应以小写开头,但因为是维护老系统,一切风格保持不变。