关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

net core实现跨域

发布时间:2020-08-07 18:38:59

什么是跨域在前面已经讲解过了,这里便不再讲解,直接上代码。

一、后台API接口

.net core创建一个Web API项目负责给前端界面提供数据。

二、前端界面

建立两个MVC项目,模拟不同的ip,在view里面添加按钮调用WEB API提供的接口进行测试跨域。view视图页代码如下:

 

@{

    Layout = null;

}

<!DOCTYPE html>

 

<html>

<head>

    <meta name="viewport" content="width=device-width" />

    <title>跨域测试1</title>

    <script src="~/Scripts/jquery-1.10.2.js"></script>

    <script>

        function btnGet() {

            $.ajax({

                url: 'https://localhost:44355/api/values',

                type: "Get",

                dataType: "json",

                success: function (data) {

                    alert("成功");

                },

                error: function (data) {

                    alert("失败");

                }

            });

        }

    </script>

</head>

<body>

    <div>

        <input type="button" id="btn" value="测试跨域" onclick="btnGet()" />

    </div>

</body>

</html>

 

三、测试

1、不设置允许跨域

首先,先不设置.net core允许跨域

2、设置允许所有来源跨域

2.1、在StartUp类的ConfigureServices方法中添加如下代码:

// 配置跨域处理,允许所有来源

services.AddCors(options =>

options.AddPolicy("cors",

p => p.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod().AllowCredentials()));

 2.2、修改Configure方法

// 允许所有跨域,cors是在ConfigureServices方法中配置的跨域策略名称

app.UseCors("cors");



/template/Home/Zkeys/PC/Static