ASP.NET Core WebApi配置跨域访问

Laughing
2017-09-23 / 0 评论 / 1,250 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年03月21日,已超过303天没有更新,若内容或图片失效,请留言反馈。

WebApi如果没有正确配置跨域访问,会提示

Preflight response is not successful

在asp.net core中,我们可以通过startup.cs配置跨域问题

配置startup.cs

services.AddCors(options=>{  
                options.AddPolicy("any",builder=>{  
                    builder.AllowAnyOrigin()  
                           .AllowAnyMethod()  
                           .AllowAnyHeader()  
                           .AllowCredentials();  
                });  
            });

配置controller

除了配置startup.cs允许跨域外,我们还需要在controller方法中增加[EnableCors("any")]属性

[HttpGet]  
        [Produces("application/json")]  
        [EnableCors("any")]  
        public JsonResult Get()  
        {  
            return Json(_service.Get());  
        }

ajax调用

配置完成后,我们就可以通过ajax调用

$(function(){  
           $.ajax({  
           url:"http://localhost:5000/Product",  
        type:"get",  
        contentType: 'application/json',  
           success:function(data){  
            var obj = data;  
            var str="";  
            for(var i=0;i<obj.length;i++){  
str+="<li>"+obj[i].name+"</li>";  
            }  
$("#div1").append(str);
    }  
});  

});

2

评论 (0)

取消
  1. 头像
    stayma
    Windows 10 · Google Chrome

    看看哎

    回复
  2. 头像
    mee
    Windows 10 · Google Chrome

    楼主辛苦了。

    回复