记录下net core MVC的跨域操作
在Program.cs中添加以下代码
builder.Services.AddCors(options =>
{
options.AddPolicy("AllowAll", builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
});
});
app.UseCors("AllowAll"); // 配置 CORS 中间件
添加完成之后你的代码应该会变成下面这样
红框的为新添加的代码
然后先添加一个web api控制器ValuesController
代码如下
[Route("api/[controller]/[action]")]
[ApiController]
public class ValuesController : ControllerBase
{
[HttpPost,HttpGet]
public string Test()
{
return "这就是测试数据";
}
}
然后自己随便找个位置添加一个html文件用于测试跨域是否成功,我命名为跨域测试.html
内容如下:
<!DOCTYPE html><html>
<head>
<meta charset="utf-8">
<title> CRONTest </title>
<script type="text/javascript" src="https://cdn.staticfile.org/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript" >
$.ajax({
type: "GET",
url: "https://localhost:7293/api/Values/Test", // 需要保证端口号与Simple项目的一致
success: function(msg){
alert( "CRONTest Success: " + msg );
}
});
</script>
</head>
<body>
<p>CRONTest</p>
</body>
</html>
其中url是定位到了我们刚刚新加的控制器中的Test方法,一目了然
接下来,运行你的项目,他就会变成这样
打红框的地方就是这个项目使用的端口号,跨域配置要用,注意点,针对你自己的项目对跨域中的url进行更改
接下来,直接双击运行html,你只要看到弹窗,那么就代表成功跨域,反之不成功
至此,mvc项目成功跨域