url传值的一个问题解决
一、原问题代码 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所有变量及函数名都应以小写开头,但因为是维护老系统,一切风格保持不变。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步