WebAPI+Html跨域时对session的支持
2018-09-19 02:58:19来源:博客园 阅读 ()
1、Global.asax中添加对Session的支持,重新Init方法:
public override void Init() { this.PostAuthenticateRequest += (sender, e) => HttpContext.Current.SetSessionStateBehavior (System.Web.SessionState.SessionStateBehavior.Required); base.Init(); }
2、WebConfig中添加跨域支持:
<httpProtocol> <customHeaders> <clear /> <add name="Access-Control-Allow-Origin" value="http://*.*.*.*:8088" /> <add name="Access-Control-Allow-Credentials" value="true" /> <add name="Access-Control-Allow-Headers" value="Content-Type" /> <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" /> </customHeaders> </httpProtocol>
3、写Session的Controller
[RoutePrefix("Reg")] public class RegController : ApiController { [Route("RegUser")] [HttpGet] public bool RegUser(string userName) { System.Web.HttpContext.Current.Session["User"] = userName; return true; } }
4、读Session的Controller
[RoutePrefix("Login")] public class LoginController : ApiController { [Route("GetLogin")] [HttpGet] public string GetLogin() { string userName = string.Empty; if(System.Web.HttpContext.Current.Session["User"]!=null) { userName = System.Web.HttpContext.Current.Session["User"].ToString(); } return userName; } }
5、前端jQuery调用时加上参数crossDomain: true 和 xhrFields: { withCredentials: true}。
<script> var url = "http://*.*.*.*:8089/"; var userId = "002"; var userName = "xiaoming"; var password = "123456"; $(function () { btnRegClick(); btnGetNameClick(); }); function btnRegClick(){ $("#btnReg").click(function () { $.ajax({ type: "get", url: url + "Reg/RegUser", xhrFields: { withCredentials: true }, crossDomain: true, data: { userId: userId, userName: userName, password: password }, success: function (result) { $("#txtUserName").val(result) } }); }); } function btnGetNameClick(){ $("#btnGetName").click(function () { $.ajax({ type: "get", url: url + "Login/GetLogin", xhrFields: { withCredentials: true }, crossDomain: true, data: { }, success: function (result) { $("#txtUserName").val(result) } }); }); } <script>
6、搞定。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- PHP session实现购物车功能 2020-03-23
- 用继承方法实现页面判断session的方法 2020-03-10
- 详解.net mvc session失效问题 2020-02-21
- 详解ABP框架中Session功能的使用方法 2020-01-18
- asp.net session丢失的解决方法小结 2019-09-08
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash