一、 am在angular 6和asp.net内核上使用信号器功能。但对飞行前请求继续获取此错误响应未通过访问控制检查:响应中“访问控制允许凭据”标头的值为“”,当请求的凭据模式为“包括”时,该值必须为“真”。
做了一些研究,发现这是服务器端的CORS问题。所以修改了服务器代码。
startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(o => o.AddPolicy("CorsPolicy", builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.WithOrigins("http://localhost:4200");
}));
services.AddSignalR();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseCors("CorsPolicy");
app.UseSignalR(routes =>
{
routes.MapHub<SignalR>("/rule");
});
}
角度应用程序
ngOnInit() {
this.callSignalR()
}
private callSignalR(): void {
// set up the signal R
let connection = new signalR.HubConnectionBuilder().withUrl(environment.baseUrl+"/rule").build();
//start the connection
connection.start().then(() => connection.invoke("updateRules", this.autheService.getCurrentuser.userId));
//Get the response from the server
connection.on("updateRules", data => {console.log(data);});
}
参考资料
访问控制允许原点-角度5
响应中的访问-控制-允许-凭据标题为"这必须是'true'
https://github.com/aspnet/SignalR/issues/2095
https://github.com/SignalR/SignalR/issues/1694
https://github.com/aspnet/SignalR/issues/2110
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(o => o.AddPolicy("CorsPolicy", builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials()
.WithOrigins("http://localhost:4200");
}));
services.AddSignalR();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseEndpoints(endpoints =>
{
endpoints.MapHub<BroadcastHub>("/notify");
});
}
ngOnInit(): void {
const connection = new signalR.HubConnectionBuilder()
.configureLogging(signalR.LogLevel.Information)
.withUrl(environment.baseUrl + 'notify')
.build();
connection.start().then( () => {
console.log('SignalR Connected!');
}).catch( (err) => {
return console.error(err.toString());
});
// BoradcastMessage is the name of the function in your SignalR
// interface.
connection.on('BroadcastMessage', () => {
console.log('Message from server');
});
}
您必须允许cors策略的凭据,因为信号器也在传递cookies。
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(o => o.AddPolicy("CorsPolicy", builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials()
.WithOrigins("http://localhost:4200");
}));
services.AddSignalR();
}
我正在从主机(http://abc.com.au)向主机http://localhost:8081上运行的Spring Cloud API网关发送ajax请求。 jquery AJAX请求代码。 SimplifiedAdoptionBulkUpload.jsp spring cloud gateway cors配置。 我在chrome控制台中遇到以下错误。 SimplifiedAdoptionBu
我正在使用reactjs前端,在后端使用Spring Boot。我尝试从前端调用endpoint,如下所示: 当我发出请求时,我得到以下错误:- 访问位于“”的XMLHttpRequesthttp://localhost:8000/ckcapp/api/posttest“起源”http://localhost:3000'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在
即使我在NodeJS/ExpressJS中添加了以下代码,我也无法解释为什么会遇到以下错误。 XMLHttpRequest无法加载http://localhost:9000/polymer/105724/apply.对预检请求的响应无法通过权限改造检查:请求的资源上不存在“访问控制允许源”标头。因此不允许访问源“http://localhost:8080”。
我已经找了5个小时左右,但我放弃了。我的ajax get请求不起作用。 它连接到标准的C#mvc api,但我得到的只是这个错误: 无法加载XMLHttpRequesthttp://localhost:18428/api/Reservation/1?weekNumber=1. 对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。起源'http://localhost因
我正在尝试将Laravel社交名流集成到我的项目中,我遇到了以下错误 在'访问XMLHttpRequesthttps://github.com/login/oauth/authorize?client_id=6b87b76a942a90caec24 问题是当我按使用 github 按钮登录时,出现上述错误 错误图片 科尔斯.php文件 am使用水果蛋糕/laravel-cors包 我哪里做错了?
问题内容: 我在使用ngResource调用Amazon Web Services上的REST API时遇到此错误: XMLHttpRequest无法加载 http://server.apiurl.com:8000/s/login?login=facebook。对预检请求的响应未通过访问控制检查:在所请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不允许访