.Net EF Core接口解决跨域问题

相信写过接口的人都会踩过这样一个坑:当我们用PostMan测试的时候是通的,但是用ajax访问就会出现跨域提示,那么我们怎么解决呢,下面就是我在项目中遇到时所用到的方法:

在项目Global.asax文件中添加:

pro­tect­ed void Application_BeginRequest()
{
if (Request.Headers.AllKeys.Contains(“Origin”) && Request.HttpMethod == “OPTIONS”)
{
Response.End();
}
}

在Web.config中system.webServer节点下添加:

	<system.webServer>
	<httpProtocol>
		<customHeaders>
                  <add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/>
                  <add name="Access-Control-Allow-Headers" value="x-requested-with,content-type"/>
                  <add name="Access-Control-Allow-Origin" value="*"/>
                  <add name="Access-Control-Allow-Credentials" value="true"/>
		</customHeaders>
	</httpProtocol>
	</system.webServer>
这里如果没有token安全验证则删去  <add name="Access-Control-Allow-Headers" value="Content-Type,token" />
如果需要指定域名,则Origin不用*号,换成指定域名

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注