一、原问题代码 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所有变量及函数名都应以小写开头,但因为是维护老系统,一切风格保持不变。