关于在页面总嵌入iframe,ifram中发起请求,服务器端的session为空问题解决
本文抄袭:http://blog.csdn.net/ray_adon/article/details/6960724
在做项目是 是用了iframe,iframe发起ajax请求,服务器端报session空指针的异常.
当然session在登录的时候已经赋值了.
如果页面中采用Javascript的window.location.href=''这样的方式来重定向的话,系统会认为这是另一个新的请求,产生一个 新的SessionId,导致原Session同样的丢失所以对于重定向,还是使用Response.Redirect()(c#)为好
除了Ifrmae有丢Session问题外,frameset也有同样的问题Frameset的问题更不确定,是有时会丢,有时不会丢,这更认人头痛,在网上找到了一个方法,在页面page_onload里添加一语句:
Response.AddHeader("P3P","CP=CAO PSA OUR");
FrameSet中的Session丢失问题就解决了至于里面具体的原因 也没时间去搞懂了
最简单的方法就是在iis里设置
解决办法
response.addHeader("P3P","CP=CAO PSA OUR")。
不过难道我们需要在每个页面都加这个么?
不需要的
如果有权配置IIS服务器
打开IIS
管理工具——〉选择一个网站——〉属性——〉http头,增加一个http头
然后输入头名:P3P
输入头内容:CP=CAO PSA OUR
如果没有权限配置IIS服务器,但是你用的是asp.net的话
可以用httpmodual来实现在全部页面或者部分页面头部插入所需要的标志
本站点的某个目录就是这样实现的
下面是java的解决办法之一,也是我的解决办法,不过个方法不太好:
直接往响应里加一个P3P的header
response().addHeader("P3P", "CP=\"IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA\"");
其中CP=“XXX XXXX”这些是有具体含义的:
CP就是compact policies的意思.
关于在页面总嵌入iframe,ifram中发起请求,服务器端的session为空问题解决的更多相关文章
- HTML阻止iframe跳转页面并使用iframe在页面内嵌微信网页版
昨天看到这篇文章[置顶]开源组件NanUI一周年 - 使用HTML/CSS/JS来构建.Net Winform应用程序界面 就想弄一个winform结合html5的一个小东西,突有兴致,想在里面嵌套一 ...
- 通过Iframe在A网站页面内嵌入空白页面的方式,跨域获取B网站的数据返回给A网站!
以下代码只是为演示该方法具体是如何操作的,实际的意义并不大. 其实这个方法还可以解决很多方面的跨域操作,以下两点为我工作中遇到的情况! 比如A系统中打开B系统页面的时候,获取B系统页面高度,A系统中可 ...
- session失效后,登录页面嵌入iframe框架
在登录页面的onload方法中加入以下代码解决: //防止登录页面嵌入iframe框架 if (top.location != self.location){ top.location=self.lo ...
- iframe ios中h5页面 样式变大
实际项目开发中,iframe在移动设备中使用问题还是很大的,说一说我的那些iframe坑 做过的这个后台管理框架,最开始的需求是PC,但随着业务需要,需要将项目兼容到ipad,后台的框架也是使用的开源 ...
- 判断页面是否被嵌入iframe里面
最近在做一个项目,是一个小型的后台管理系统,这个系统可以单独打开,也可以嵌入公司大型的后台管理项目里面 这样就存在一个问题,在被嵌入大的后台管理系统后,不用显示该页面顶部导航栏和左侧的菜单栏 所以我们 ...
- javascript获取iframe框架中页面document对象,获取子页面里面的内容,iframe获取父页面的元素,
javascript获取iframe框架中,加载的页面document对象 因为浏览器安全限制,对跨域访问的页面,其document对象无法读取.设置属性 function getDocument(i ...
- 高并发分布式系统中生成全局唯一(订单号)Id js返回上一页并刷新、返回上一页、自动刷新页面 父页面操作嵌套iframe子页面的HTML标签元素 .net判断System.Data.DataRow中是否包含某列 .Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数
高并发分布式系统中生成全局唯一(订单号)Id 1.GUID数据因毫无规律可言造成索引效率低下,影响了系统的性能,那么通过组合的方式,保留GUID的10个字节,用另6个字节表示GUID生成的时间(D ...
- 判断页面是否在iframe中,
//判断页面是否在iframe中,是的话就跳出iframe框,多用于登录页 ,将此段代码放到要做判断的页面上即可 if (window != top) { top.location.href = l ...
- Jsp中解决session过期跳转到登陆页面并跳出iframe框架的方法
1.可以用javaScript解决在你想控制跳转的页面,比如login.jsp中的<head>与</head>之间加入以下代码: <script language=”Ja ...
随机推荐
- 分巧克力【来源:CSDN线上编程挑战赛】——递归,费波那奇数列,迭代
/*====================================================================== 儿童节快到了,班长想要给班上的每个同学给一个巧克力, ...
- Swift使用Alamofire实现网络请求
Alamofire是一个用Swift编写的HTTP网络库,由此前热门开源项目AFNetworking的的作者mattt开发,可非常简单地用于异步网络通信. 要获取最新版本的 Alamofire,前往h ...
- oracle row_number()
要求查询每个用户对应的最大样品信息,忽然想到ms sql提供过 row_number() over(partition by 列 order by 列 desc),那么oracle可能也存在, 我的表 ...
- 数据库连接工具类 数据库连接工具类——仅仅获得连接对象 ConnDB.java
package com.util; import java.sql.Connection; import java.sql.DriverManager; /** * 数据库连接工具类——仅仅获得连接对 ...
- IDEA快捷键大全
IntelliJ Idea 常用快捷键列表 Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Sh ...
- [mysql] mysql表名忽略大小写
首先查看mysql是否区分大小写: 今天郁闷死了,在LINUX下调一个程序老说找不到表,但是我明明是建了表的,在MYSQL的命令行下也可以查到,为什么程序就找不到表呢? 后来请教了一个老师才搞定,原来 ...
- [原]网络库libevent在Visual Studio中的使用方法
libevent是一个事件触发的网络库,适用于windows.linux.bsd等多种平台,内部使用select.epoll.kqueue等系统调用管理事件机制.著名分布式缓存软件memcached也 ...
- 熊猫TV提示“您的账号存在被盗风险,请在网站上登录解锁”
在密码下方,点击获取验证码即可.
- SPOJ #429 Simple Numbers Conversion
This is simply a human work simulation - exactly reproducing how you do it by hand. Nothing special. ...
- Winform退出程序
1.this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出: 2.Application.Exit(); 强制所有消息中止,退 ...