- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) > web開(kāi)發(fā) > ASP >
- ASP中用ajax方式獲得session的實(shí)現代碼
由于我是用的ff瀏覽器,一直沒(méi)發(fā)現什么問(wèn)題。上個(gè)禮拜提交給用戶(hù)看的時(shí)候,說(shuō)用IE登錄完之后無(wú)效,大驚。結果還真的是這樣。。很?chē)?
登錄代碼如下:
代碼如下:
//從服務(wù)器查詢(xún)是否存在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里面無(wú)非就是去查session,代碼如下:
代碼如下:
if session("username") = "" then
Response.Write("1")
else
Response.Write("2")
end if
結果就是用IE這個(gè)session("username")死活沒(méi)有,timeout設置了也沒(méi)用。
去網(wǎng)上查了半天,發(fā)現同樣問(wèn)題的還挺多,最后查到原因:緩存問(wèn)題。
異步get獲取時(shí),如果url不變,是直接調用的緩存中的信息,然后就導致了一直獲得不到session里的值。
解決方法那很簡(jiǎn)單了,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
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站