关于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调用

posted on 2018-03-07 22:27  nlh774  阅读(177)  评论(0编辑  收藏  举报