使用JQuery Ajax请求,在Controller里获取Session

来源:互联网 发布:东莞南城关键词优化 编辑:程序博客网 时间:2024/05/17 03:59

昨天在做项目的时候,两个平台之间的切换,虽然两个网站的Session都指向了同一台机子,但是通过Ajax方式来请求时,就是不能获取到Session的值。

在调试的过程中发现,原来是Session的IsNewSession这个只读属性变成了True,如图,如果是直接在浏览器打开地址的话,这个IsNewSession是False的。


解决方法:

在Controller里加上下面两句:

HttpContext.Response.AddHeader("Access-Control-Allow-Credentials", "true");            HttpContext.Response.AppendHeader("Access-Control-Allow-Origin", "请求本Action的域名");//实现跨域

在Ajax调用端:

$.ajax({            url:'/XX/XX',            type: 'GET',            data: data,            async: false,            dataType: 'json',            xhrFields: {                withCredentials: true            },            crossDomain: true,            success: SuccessAdd        });

xhrFields: {                withCredentials: true            },            crossDomain: true,

这一块内容一定要加上。


OK客户端跟服务端都写了,运行即可。


注意:本人的这个做法是需要修改服务端的,如果不能修改服务端的,就请另寻他法了。如果您 找到的话,不妨告诉我一声,也让我学习一下,谢谢!


2 0
原创粉丝点击