zoukankan      html  css  js  c++  java
  • webapi 跨域解决方案

    方法1.添加节点

      <system.webServer>
        <httpProtocol>
          <customHeaders>
            <add name="Access-Control-Allow-Origin" value="*" />
            <add name="Access-Control-Allow-Headers" value="Content-Type" />
            <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
          </customHeaders>
        </httpProtocol>
      </system.webServer>

    方法2.添加一个过滤器,在需要跨域的接口上添加属性:

    //创建过滤器
    public class CrossSiteAttribute : ActionFilterAttribute
    {
            private const string Origin = "Origin";
            private const string AccessControlAllowOrigin = "Access-Control-Allow-Origin";
            private const string originHeaderdefault = "*";
            public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
            {
                actionExecutedContext.Response.Headers.Add(AccessControlAllowOrigin, originHeaderdefault);
            }
    }
    
    //添加属性
    [CrossSite]
    public string Get(int id)
    {
          string result = "{"name":"zhangsan","date":"2012-12-03"}";
          return result;
    }

    3.调用

    <script>
            $.ajax({
                type: 'GET',
                url: 'http://localhost:3786/api/Values/Get?id=1',
                dataType: 'JSON',
                success: function (data) {
                    alert(data);
                }
            });
    </script>
  • 相关阅读:
    面向对象三大特征------多态
    接口的概念
    面向对象(抽象类)
    面向对象三大特征------继承
    面向对象三大特征------封装
    成员变量和局部变量的区别
    20180822 ajax post 方式请求
    20180815 权限
    20180815 视图
    20180814 夜晚小目标
  • 原文地址:https://www.cnblogs.com/yanjc/p/5848650.html
Copyright © 2011-2022 走看看