这个问题按理说应该会改变的,无论是异步还是同步的调用。如果程序没错误的话,我怀疑
1.浏览器的问题。你是不是用的IE,内核是不是IE8呢?如果是的话建议你用用别的浏览器试试看,例如火狐,google等,或者卸载 KB976662 补丁(IE的补丁)
2,缓存问题,也就是说在你这个方法调用之前这个session是空值,然后缓存了就一直是空值。解决办法就是在你的请求URL后面加一个时间戳 例如"Ajax.aspx?act=Edit&r="+ Math.random();
3也或许是你的session丢失了,可能原因就是超时了,或者无故丢失,如果后者的话
建议你修改配置文件
例如:
这样的话除非你的电脑蹦了,否则session不会丢失的
以上只是猜测不知能否帮到你
$.ajax({
url : xxx,
type : 'POST',
dataType : 'json',
async : false,//加上这句试试
success : function(root) {};
});
没有遇见过这种情况,不过你可以把session值直接传回来,传到回调函数里去,就省的在在回调函数里去session了,反而比较方便,一般不都是这么做的么?