ASP.NET Core WebApi配置跨域访问

原创 Laughing  2017-09-23 21:01  阅读 202 次 评论 0 条

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

Preflight response is not successful

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

配置startup.cs

  1. services.AddCors(options=>{  
  2.                 options.AddPolicy("any",builder=>{  
  3.                     builder.AllowAnyOrigin()  
  4.                            .AllowAnyMethod()  
  5.                            .AllowAnyHeader()  
  6.                            .AllowCredentials();  
  7.                 });  
  8.             });  

配置controller

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

  1. [HttpGet]  
  2.         [Produces("application/json")]  
  3.         [EnableCors("any")]  
  4.         public JsonResult Get()  
  5.         {  
  6.             return Json(_service.Get());  
  7.         }  

ajax调用

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

  1. $(function(){  
  2.            $.ajax({  
  3.            url:"http://localhost:5000/Product",  
  4.         type:"get",  
  5.         contentType: 'application/json',  
  6.            success:function(data){  
  7.             var obj = data;  
  8.             var str="";  
  9.             for(var i=0;i<obj.length;i++){  
  10. str+="<li>"+obj[i].name+"</li>";  
  11.             }  
  12. $("#div1").append(str);  
  13.         }  
  14.     });  
  15.    });  
本文地址:https://www.lisen.me/asp-net-core-webapi-configuration-cross-domain-access.html
版权声明:本文为原创文章,版权归 木子网 所有,欢迎分享本文,转载请保留出处!

发表评论


表情