Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 799|回复: 0

隐藏iframe提交不能设置session

[复制链接]

该用户从未签到

发表于 2011-10-29 08:24:57 | 显示全部楼层 |阅读模式
我试图通过以下代码用js建立一个隐藏的iframe,提交form信息,form的action指向一个php在这里我设置了一个session,在下面的操作中,我试图取出这个session,可是没有成功。
表象上看,iframe里设置session会出问题,我在网上查了设置P3P头的方法,此方法只是解决ie权限问题的,可是我使用的是firefox,这种方法对我来说还是不起作用。
如果我把下面代码的第一句var ifr = d.createElement("IFRAME");改称var ifr = d.createElement("DIV");就会重定向的其他页面,session也设置成了,可是就失去了用iframe隐式提交的目的了。
请大家提出宝贵方案。谢谢!

其实这个问题可以简化为,为什么在js生成的iframe下不能设置session?

java代码
  
       var ifr  = d.createElement("IFRAME");   
ifr.name    = generate_tmpid(10);   
ifr.id  = ifr.name;   
ifr.style.display   = "none";   
d.getElementsByTagName('body')[0].appendChild(ifr);   
try { w.frames[ifr.name].name   = ifr.name } catch(e) {}   
var frm = d.createElement("FORM");   
frm.method  = &quotOST";   
frm.action  = 'postform_attachupl';   
frm.enctype = "multipart/form-data";   
frm.encoding    = "multipart/form-data";   
frm.target  = ifr.name;   
frm.name    = generate_tmpid(10);   
frm.style.display   = "none";   
var inp1    = d.createElement("INPUT");   
inp1.type   = "hidden";   
inp1.name   = "keyy";   
inp1.value  = postform_generate_tmpid(10);   
frm.appendChild(inp1);   
var inp2    = fileinput.cloneNode(true);   
inp2.name   = "file";   
inp2.disabled   = false;   
if(inp2.value == fileinput.value) {   
    frm.appendChild(inp2);   
    d.getElementsByTagName('body')[0].appendChild(frm);   
    frm.submit();   
}  

   
        var ifr    = d.createElement("IFRAME");
    ifr.name    = generate_tmpid(10);
    ifr.id    = ifr.name;
    ifr.style.display    = "none";
    d.getElementsByTagName('body')[0].appendChild(ifr);
    try { w.frames[ifr.name].name    = ifr.name } catch(e) {}
    var frm    = d.createElement("FORM");
    frm.method    = "POST";
    frm.action    = 'postform_attachupl';
    frm.enctype    = "multipart/form-data";
    frm.encoding    = "multipart/form-data";
    frm.target    = ifr.name;
    frm.name    = generate_tmpid(10);
    frm.style.display    = "none";
    var inp1    = d.createElement("INPUT");
    inp1.type    = "hidden";
    inp1.name    = "keyy";
    inp1.value    = postform_generate_tmpid(10);
    frm.appendChild(inp1);
    var inp2    = fileinput.cloneNode(true);
    inp2.name    = "file";
    inp2.disabled    = false;
    if(inp2.value == fileinput.value) {
        frm.appendChild(inp2);
        d.getElementsByTagName('body')[0].appendChild(frm);
        frm.submit();
    }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-5 18:00 , Processed in 0.356813 second(s), 34 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表