關於在頁面總嵌入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的意思.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM