ASP.NET Core 2.0 WebAPI 跨域问题

2019-03-21 10:30:02 浏览数 (1)

关于 asp.net core 2.0 webapi的跨域,我们这里使用CORS来实现,不使用旧的JSONP,可以这样配置:

打开 Startup.cs文件,转到ConfigureServices(IServiceCollection services) 中,增加:

代码语言:javascript复制
services.AddCors(options =>
{
    options.AddPolicy("AnyOrigin", builder =>
    {
        builder
            .AllowAnyOrigin()
            .AllowAnyMethod();
    });
});

再转到Configure(IApplicationBuilder app, IHostingEnvironment env)中,增加:

代码语言:javascript复制
app.UseCors("AnyOrigin");

就可以开启CORS跨域了。

关于ASP.Net Core的CORS跨域问题详细的使用方法,请参考《Enable Cross-Origin Requests (CORS) in ASP.NET Core》一文。

下面测试一下:

代码语言:javascript复制
<html>
    <head>
        
    </head>
    <body>
        
        <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
        <script>
            $(function(){
                $.ajax({
                    url:"http://domain/api/Mall/Category/List",
                    data:{id:1},
                    dataType:"json",
                    type:"post",
                    success:function(result){
                        console.log(result);
                    }
                });
            });
        </script>
    </body>
</html>

直接双击通过浏览器打开这个页面,可以看到,已经读到远程接口的数据了:

以上。


本文作者:老徐

本文链接:https://cloud.tencent.com/developer/article/1405653

转载时须注明出处及本声明

0 人点赞