欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP中用ajax方式獲得session的實現(xiàn)代碼

 更新時間:2011年05月27日 00:43:09   作者:  
前期做的時候,登錄方式順手用了ajax來做,登錄前先判斷在session中是否存在值,如果存在,那么無需登錄;如果不存在,那就彈出登錄頁面登錄。
由于我是用的ff瀏覽器,一直沒發(fā)現(xiàn)什么問題。上個禮拜提交給用戶看的時候,說用IE登錄完之后無效,大驚。結(jié)果還真的是這樣。。很囧
登錄代碼如下:
復制代碼 代碼如下:

//從服務器查詢是否存在session
j.ajax({
type:"GET",
url:"sessioncheck.asp",
data:"",
timeout: 1000,
error: function(){
alert('sorry, server is busy now!');
},
success:function(comments_data){
if(comments_data == 1){
el.createDialog(opts);
j.startOver();
}
else{
var sql = selectSQL(searchkey,stype);
window.location.href = sql;
}
}
});

大致是這樣 sessioncheck.asp里面無非就是去查session,代碼如下:
復制代碼 代碼如下:

if session("username") = "" then
Response.Write("1")
else
Response.Write("2")
end if

結(jié)果就是用IE這個session("username")死活沒有,timeout設(shè)置了也沒用。

去網(wǎng)上查了半天,發(fā)現(xiàn)同樣問題的還挺多,最后查到原因:緩存問題。

異步get獲取時,如果url不變,是直接調(diào)用的緩存中的信息,然后就導致了一直獲得不到session里的值。

解決方法那很簡單了,google "asp 清除緩存" 一大堆。
最后是在sessioncheck.asp里添加了一段,如下:
復制代碼 代碼如下:

Response.Buffer =True
Response.ExpiresAbsolute =Now() - 1
Response.Expires=0
Response.CacheControl="no-cache"
if session("username") = "" then
Response.Write("1")
else
Response.Write("2")
end if

相關(guān)文章

最新評論