关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案
参考文档:
https://www.cnblogs.com/chenxizhang/p/3821703.html(主要参考mvc部分。webapi部分认为肯定不太对、但我未测试)
https://www.cnblogs.com/bruceli-net/p/4862972.html(只写了webapi的部分。我用了方案2,方案1测试发现也可以)
总结:(我测试时用了MVC3,MVC4-----WebApi)
mvc:
webapi:
方案1:
方案2:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Http.Filters; 6 7 namespace Mvc4Api.App_Start 8 { 9 /// <summary> 10 /// 允许前端页面跨域访问 11 /// 在 Controller 或者是 Action 上面加上属性,即可允许全部控制器或者某指定方法 12 /// </summary> 13 public class AllowCrossSiteJsonAttribute : ActionFilterAttribute 14 { 15 public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext) 16 { 17 if (actionExecutedContext.Response != null) 18 actionExecutedContext.Response.Headers.Add("Access-Control-Allow-Origin", "*"); 19 20 base.OnActionExecuted(actionExecutedContext); 21 } 22 } 23 }
3.使用jsonp形式的ajax调用