IE中的经典ASP会话和jQuery

IE中的经典ASP会话和jQuery,jquery,session,asp-classic,session-state,Jquery,Session,Asp Classic,Session State,我正在为我的项目中的用户编写一个控制面板,我有一个DIV元素,并使用$('.user-situation').load('userpanel.asp')加载用户情况 我有一个模式登录表单,它用json向认证页面发送数据: $.getJSON("authenticate.asp?U=u.val()"+"&P=p.val()"+"&format=json&jsoncallback=?", function(data){ if(data.Status == "Succe

我正在为我的项目中的用户编写一个控制面板,我有一个
DIV
元素,并使用
$('.user-situation').load('userpanel.asp')
加载用户情况

我有一个模式登录表单,它用json向认证页面发送数据:

$.getJSON("authenticate.asp?U=u.val()"+"&P=p.val()"+"&format=json&jsoncallback=?", function(data){

   if(data.Status == "Successful"){

       $('.user-situation').load('userpanel.asp');

   }

});
在身份验证页面中,我设置了一些会话,其中一个是
session(“ID”)
正如您所看到的,我在成功登录后在div中重新加载userpanel.asp,因为我想在那里显示用户选项

userpanel.asp代码如下(简化)

这在FF、Chrome和Opera中非常有效 但在IE(9)中,当成功登录后刷新页面时,userpanel.asp会向我显示第一个条件结果


为什么?!哪里是我的错

IE可能正在缓存userpanel.asp,请尝试在加载调用的末尾生成并附加一个随机数查询字符串,如下所示:

//generate random number and assign to rnd
$('.user-situation').load('userpanel.asp?rand='+rnd+'');

它可能正在缓存初始页面结果。(即总是试图比我们所有人都聪明……但失败了。)

我建议在查询字符串中添加一个唯一的数字,当页面重新加载时,这个数字总是不同的。尝试:

$('.user-situation').load('userpanel.asp?' + Math.floor(Math.random()*1701)); // 1701 is just a number I... well... Yeah, I'm a Trekkie nerd.

无论如何,这会让浏览器觉得你以前从未见过这个URL,如果是缓存问题,这会解决问题。

谢谢你;但是我通过一些asp脚本
Response.AddHeader“pragma”,“no cache”
解决了这个问题。很高兴这有帮助。
$('.user-situation').load('userpanel.asp?' + Math.floor(Math.random()*1701)); // 1701 is just a number I... well... Yeah, I'm a Trekkie nerd.