我的Web应用程序具有多层(业务层,数据访问层,服务层和Ui层)
我在Ui层剃刀页面中调用服务层(Web API)(使用JQuery和Ajax)
<button id="btn">ddd</button>
script type="text/javascript">
$(document).ready(function () {
var filmtable = $("#DataTableHtmlId");
$('#btn').click(function() {
$.ajax({
type: 'GET',
dataType: "json",
contentType: 'application/json; charset=utf-8',
url: 'https://localhost:11111/api/film/1',
withCredentials: true,
AccessControlAllowCredentials: true,
success: function(data) {
alert(data);
},
error: function(data) {
alert("err");
}
});
});
} );
</script>
跨域请求被阻止:“同源起源”策略禁止读取https://localhost:11111/api/film/1处的远程资源。 (原因: CORS标头“ Access-Control-Allow-Origin”缺失)。[了解详情]
跨源请求被阻止:同源策略禁止阅读 https://localhost:11111/api/film/1上的远程资源。 (原因: CORS请求未成功。
搜索后,我发现了许多解决方案 在 ConfigureServices 中将 Cors 注册为
//Cors policy is added to controllers via [EnableCors("CorsPolicy")]
//or .UseCors("CorsPolicy") globally
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
builder => builder
.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});
并在配置中以
的形式应用CORS //Apply CORS.
app.UseCors("CorsPolicy");
app.UseHttpsRedirection();
app.UseAuthentication();
app.UseMvc();
但是错误还会显示任何帮助吗?
答案 0 :(得分:0)
评论解决方案
在api项目而不是ui项目中启用CORS
配置。