在html文件中用js獲取session
來源:程序員人生 發布時間:2014-01-15 16:32:08 閱讀次數:3802次
原以為很簡單,事實上的確簡單。但還是碰到了一個在做之前沒有考慮到的問題:ajax的緩存問題。所以看似容易的問題還是要嚴謹對待,這就是程序員該有的品質吧。
話不多說,言規正轉,下面是運行時的截圖
h2. 文件說明
default.aspx, 主演示頁面
GetSessionData.aspx, ajax調用的頁面
jquery.js, js框架,我對這個熟悉一些
h2. 代碼分析
代碼很簡單,主要是注意ajax的緩存問題,即你明明設置了新的session值,但使用ajax得到的卻還是老的值。深入的說,這并非只是ajax的緩存問題,應該是和http協議本身相關的
讓ajax緩存失效有很多辦法,我這里采用的是服務器端設置 GetSessionData.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class GetSessionData : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Write(Session["current-date"]);
}
}
注意Line 16:Response.Cache.SetCacheability(HttpCacheability.NoCache);
這一行的代碼可以讓客戶端不使用緩存,而從服務器重新讀取
希望本文對有需要的朋友有所幫助。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈