原文:解决父类加载iframe,src参数过大导致加载失败

<iframe src="*******.do?param=****" id="leftFrame" name="leftFrame" frameborder="0"></iframe>





或者是使用js加载src:





var params = "?pk_id="+pk_id;





var frameLeftSrc = "<%=path %>/****/****.do"+params;





$('#leftFrame').attr("src",frameLeftSrc);





(先说明一下,此处只是以一个参数为例,实际可能会有多个参数。我们继续)





上面两种写法,都可以实现iframe的加载,我们可能会以为没问题,很正确。其实上面的写法的确是没有太大的问题,对于参数的值不长的时候,注意是参数的值的长度,不是参数的多少。比如说,我要向这个iframe中传递个参数,参数名叫pk_id,值是由主页面或者其他页面返回的一长串的主键拼接起来的值,起码3000个字符以上,这个时候我们再用这个方法访问就有问题了。因为这种url方法是通过get进行提交的,参数的长度是有限制的。





那么对于这种大数据传输的时候怎么办呢,我目前想到的就有两种(大家有什么更好的提议尽管提,相互交流,相互提高):





一、仍旧用这个种方式传递,但是参数的值不要过长,前提是不长的参数值可以通过关联查询到你想要的长的参数值,这样iframe接收到这个不长的参数值之后,你再想办法获得在iframe子页面中获得你想要的长的参数值。(可以用,但不建议,因为需要个前提)





二、在主页面采用以下方法,进行加载iframe页面即可:





主页面:<iframe src="about:blank" id="leftFrame" name="leftFrame"  frameborder="0">





js:





   var url="<%=path %>/pubitem/toChoosePubItemLeft.do"; //定义iframe页面的form表单的action





   //定义form表单

    var html1='<form id="queryForm" name="queryForm" method="post" target="_self" action="'+url+'">'+

    '<input type="hidden" id="pk_id" name="pk_id" value="'+pk_id+'"/>'+      //pk_id是一个长度超过3000字符的值

    '</form>';

    document.getElementById('leftFrame').contentWindow.document.write(html1);  //将表单写入iframe中

    document.getElementById('leftFrame').contentWindow.document.getElementById('queryForm').submit();//执行iframe中表单的提交





将以上方法封装到一个方法里面,然后主页面加载的时候调用这个方法,就会将主页面的大数据传递给iframe页面了。

解决父类加载iframe,src参数过大导致加载失败的更多相关文章

  1. 解决eclipse部署maven时,src/main/resources里面配置文件加载不到webapp下classes路径下的问题

    解决eclipse部署maven时,src/main/resources里面配置文件加载不到webapp下classes路径下的问题. 有时候是src/main/resources下面的,有时候是sr ...

  2. JVM性能优化--类加载器,手动实现类的热加载

    一.类加载的机制的层次结构 每个编写的".java"拓展名类文件都存储着需要执行的程序逻辑,这些".java"文件经过Java编译器编译成拓展名为". ...

  3. 浅谈Android下的Bitmap之大Bitmap加载

    引言 我们常常提到的“Android程序优化”,通常指的是性能和内存的优化,即:更快的响应速度,更低的内存占用.Android程序的性能和内存问题,大部分都和图片紧密相关,而图片的加载在很多情况下很用 ...

  4. asp.net中TreeView的大数据加载速度优化

    由于数据量太大,加载树时间很长,所以进行了优化 前台 .aspx <asp:Panel ID="Panel2" runat="server" Height ...

  5. 关于4A网络安全管控平台控件加载失败的解决方法

    最近电脑重装系统后,到公司登录4A管控平台提示"控件加载失败","无效的参数为:Null","点击资源无任何反映"等等问题 别人的电脑用的好 ...

  6. myeclipse部署maven时,src/main/resources里面配置文件加载不到webapp下classes路径下的问题

    解决myeclipse部署maven时,src/main/resources里面配置文件加载不到webapp下classes路径下的问题. 有时候是src/main/resources下面的,有时候是 ...

  7. gitbook 入门教程之解决windows热加载失败问题

    破镜如何贴花黄 gitbook 在 Windows 系统无法热加载,总是报错! gitbook 是一款文档编写利器,可以方便地 markdown 输出成美观优雅的 html ,gitbook serv ...

  8. WPF 大数据加载过程中的等待效果——圆圈转动

    大家肯定遇到过或将要遇到加载大数据的时候,如果出现长时间的空白等待,一般人的概念会是:难道卡死了? 作为一个懂技术的挨踢技术,即使你明知道数据量太大正在加载,但是假如看不到任何动静,自己觉得还是一种很 ...

  9. 如何解决SoftekBarcode.dll加载失败的问题

    本文转自:慧都控件网 Softek Barcode Reader Toolkit是专门从事于条形码读取技术的软件公司Softek旗下一款著名的条码读取工具包.最近有部分用户反映在运行此工具包时会遇到“ ...

随机推荐

  1. iPhone屏幕尺寸/launch尺寸/icon尺寸

    屏幕尺寸 6p/6sp     414 X 736 6/6s         375 X 667 5/5s         320 X 568  4/4s         320 X 480   la ...

  2. php链接数据库 批量删除 和 注册审核

    理解 :  hiden   value    session   name="a[]"         1.  form  表单上传的 value=" "值   ...

  3. 如何让Notepad++添加Python运行方式.精讲

    原文来自金石开的文章,欲知详情请点击他昵称. 名为cncyber的博友,在此感谢他. 全部省略.正确命令是在原文的回复里,在此复制贴上: cmd /k cd /d "$(CURRENT_DI ...

  4. XAF学习笔记2,关于XAF

    简单的说下XAF,王北的博客写得非常好了.我就不在啰嗦, XAF能解决几个问题 1,不用自己创建数据库(设定好Model自动创建数据库,我们只要配置好app.config文件的数据库路径就行.) 2, ...

  5. substr_replace()函数:将手机号中间4位隐藏为*号

    <?php $mobile = "15810320826"; echo substr_replace($mobile,'****',3 , 4); ?> substr_ ...

  6. hdoj 1506&amp;amp;&amp;amp;1505(City Game) dp

    // l表示从l[i]到i连续大于a[i]的最远左区间.r表示从i到r[i]连续大于a[i]的最远又区间 DP 找出 a[i] 的最远左区间和最远右区间与自己连着的比自己大的数的长度 , 然后用这个长 ...

  7. Springboot 学习笔记 ①

    前言 之前一直在寻找Springboot的学习资料,终于得偿所愿...那么,先给自己定一个小目标 - 能够使用Springboot这套架构来搭建自己的服务. 准备阶段 1. 开发环境 开发环境其实还是 ...

  8. iPhone手机怎么投屏到电脑 airplay在哪里设置

    iPhone手机怎么投屏到电脑?想要小屏转大屏,其实方法很简单,简单几步就可以操作,下面简单几步教大家手机投屏电脑的方法. 使用工具: Iphone&电脑 操作方法: 1.如果想要把手机本地的 ...

  9. UVA 10462 Is There A Second Way Left?(次小生成树&amp;Prim&amp;Kruskal)题解

    思路: Prim: 这道题目中有重边 Prim可以先加一个sec数组来保存重边的次小边,这样不会影响到最小生成树,在算次小生成树时要同时判断次小边(不需判断是否在MST中) Kruskal: Krus ...

  10. 传统网络栈与InfiniBand栈对比图

    熟悉传统网络协议栈但对InfiniBand协议栈好奇的朋友可以通过下图有一个宏观上的印象. IB实现了"高带宽,低延时"的网络互联,最大的魅力就是支持RDMA,而RDMA就其本质, ...