博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在 mvc4 WebApi 中 json 的 跨域访问
阅读量:5025 次
发布时间:2019-06-12

本文共 1470 字,大约阅读时间需要 4 分钟。

 

问题:

SEC7120: 在 Access-Control-Allow-Origin 标头中未找到源

解决:

/// <summary>

  /// 允许CrossJson
  /// </summary>
  public class AllowCrossSiteJsonAttribute : ActionFilterAttribute
  {
      public override void OnActionExecuting(HttpActionContext actionContext)
      {
          if (actionContext == null)
          {
              throw new ArgumentNullException("actionContext");
          }

          //actionContext.Response.Headers.Add("Access-Control-Allow-Origin", "*");

 

          //HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");

          //actionContext.RequestContext.HttpContext.Response.AddHeader("Access-Control-Allow-Origin", "*");
          base.OnActionExecuting(actionContext);
      }

      public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)

      {
          if (actionExecutedContext == null)
          {
              throw new ArgumentNullException("actionExecutedContext");
          }
          Debug.Assert(actionExecutedContext.Response != null, "actionExecutedContext.Response != null");

          Debug.Assert(actionExecutedContext.Response.Headers != null, "actionExecutedContext.Response.Headers != null");

          actionExecutedContext.Response.Headers.Add("Access-Control-Allow-Origin", "*");
          base.OnActionExecuted(actionExecutedContext);
      }
  }

 

 

要注意的是 “ActionFilterAttribute” 是  System.Web.Http.Filters 命名空间的中, 不是 Mvc中的。

 

public class UserController : ApiController

   {

[AllowCrossSiteJson]

       public UserInfo Get()

       {
           return new UserInfo
           {
               UserName = ICasAuthenticator.GetName()
           };
       }

 

这样就好了,

其实Api Controller的代码路径更短了。

转载于:https://www.cnblogs.com/zbw911/archive/2013/02/21/2920473.html

你可能感兴趣的文章
使用SpringSocial开发QQ登录
查看>>
好玩的游戏
查看>>
代码说明call和apply方法的区别 (咱们这方面讲解的少,这样的题有变式,需要举例讲解一下)...
查看>>
T-SQL 类型转换
查看>>
在eclipse中设计BPMN 2.0工作流定义的根本步骤
查看>>
Json对象与Json字符串互转(4种转换方式)
查看>>
PAT甲级1002 链表实现方法
查看>>
查看Linux信息
查看>>
Python中sys模块sys.argv取值并判断
查看>>
【详记MySql问题大全集】四、设置MySql大小写敏感(踩坑血泪史)
查看>>
并查集
查看>>
ubuntu 11.04下android开发环境的搭建!
查看>>
Bzoj 3343: 教主的魔法
查看>>
括号序列(栈)
查看>>
一件趣事
查看>>
DevExpress控件TExtLookupComboBox实现多列模糊匹配输入的方法
查看>>
atom 调用g++编译cpp文件
查看>>
H3C HDLC协议特点
查看>>
iptables 网址转译 (Network address translation,NAT)
查看>>
ios __block typeof 编译错误解决
查看>>