欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Web Api之Cors跨域(干货)---大家一定要看清我写的内容哦

程序员文章站 2022-12-10 08:08:49
Web Api之Cors跨域 要想跨域需要准备一下几步骤 1.创建WebAPI(请按照图片先后顺序来) 2.进入NuGet包管理搜 Microsoft.AspNet.WebApi.Cors 进行下载 3.修改APP_Start中的 WebApiConfig文件 这里时配置路由的地方,我们需要进行修改 ......

web api之cors跨域

要想跨域需要准备一下几步骤

1.创建webapi(请按照图片先后顺序来)

Web Api之Cors跨域(干货)---大家一定要看清我写的内容哦

 

Web Api之Cors跨域(干货)---大家一定要看清我写的内容哦

 Web Api之Cors跨域(干货)---大家一定要看清我写的内容哦

2.进入nuget包管理搜 microsoft.aspnet.webapi.cors 进行下载

Web Api之Cors跨域(干货)---大家一定要看清我写的内容哦

 3.修改app_start中的 webapiconfig文件 这里时配置路由的地方,我们需要进行修改才能使用,黄色框框的为需要修改的文件,红色框框是需要添加上去的代码

注意:webapi默认路由是达不到我们需求的 他的默认路由为 api/{controller}/{id} 这个路由我们不能用所以我们必须更改,代码如下(直接覆盖掉原始的就可以解决了)

Web Api之Cors跨域(干货)---大家一定要看清我写的内容哦

 

        public static void register(httpconfiguration config)
        {
            // web api 配置和服务
            // web api 路由

            config.maphttpattributeroutes();
            config.routes.maphttproute(
                name: "defaultapi",
                routetemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = routeparameter.optional }
            );
            // 启用跨域
            config.enablecors(new system.web.http.cors.enablecorsattribute("*", "*", "*"));
        }

  控制器中方法使用如下

[httppost]
        public ihttpactionresult getdome()
        {
            string json = jsonconvert.serializeobject(“数据测试”);
            return ok(json);
        }

  jquery方法调用:

$.ajax({
    type: 'post',
    url: '域名/getdome',
    success: function (data) {
        alert(data)
   } 
)}