相关疑难解决方法(0)

对预检请求的响应未通过访问控制检查

我使用ngResource在Amazon Web Services上调用REST API时收到此错误:

XMLHttpRequest无法加载 http://server.apiurl.com:8000/s/login?login=facebook.对预检请求的响应未通过访问控制检查:请求的资源上不存在"Access-Control-Allow-Origin"标头.原产地" :HTTP //本地主机,因此"是不允许访问. 错误405

服务:

socialMarkt.factory('loginService', ['$resource', function($resource){    
    var apiAddress = "http://server.apiurl.com:8000/s/login/";
    return $resource(apiAddress, { login:"facebook", access_token: "@access_token" ,facebook_id: "@facebook_id" }, {
                getUser: {method:'POST'}
            });
}]);
Run Code Online (Sandbox Code Playgroud)

控制器:

[...]
loginService.getUser(JSON.stringify(fbObj)),
                function(data){
                    console.log(data);
                },
                function(result) {
                    console.error('Error', result.status);
                }
[...]
Run Code Online (Sandbox Code Playgroud)

我正在使用Chrome,我不知道还有什么可以解决这个问题.我甚至将服务器配置为接受来自源的头文件localhost.

javascript ajax http cors http-status-code-405

392
推荐指数
12
解决办法
104万
查看次数

在提取API中启用CORS

我收到以下错误消息,我无法继续

无法加载https://site/data.json:对预检请求的响应未通过访问控制检查:所请求的资源上没有'Access-Control-Allow-Origin'标头。因此,不允许访问源' http:// localhost:8080 '。如果不透明的响应满足您的需求,请将请求的模式设置为“ no-cors”,以在禁用CORS的情况下获取资源。localhost /:1未捕获(承诺)TypeError:无法获取

我正在尝试CORS在我的react js文件中启用,但无法获得预期的结果。我已经安装了chrome扩展程序,并且可以正常工作。但是要在生产站点中使用它,我需要在代码中启用它。我应该如何正确安排代码以启用CORS

fetch(URL, {
  mode: 'cors',
  headers: {
    'Access-Control-Allow-Origin':'*'
  }
})
  .then(response => response.json())
  .then(data => {
Run Code Online (Sandbox Code Playgroud)

javascript reactjs fetch-api

13
推荐指数
1
解决办法
6万
查看次数

如何摆脱.net核心2.2中的CORS?

我已将我的项目更新为.net core 2.2,看起来CORS正在制造2.1中没有的问题.

我在这个网址上运行我的应用: http://*:5300

我在以下代码中添加了此代码Startup.cs:

public void ConfigureServices(IServiceCollection services)
{
    ...

    services.AddCors(options =>
                     options.AddPolicy("MyPolicy", builder =>
                     {
                         builder.AllowAnyOrigin()
                                .AllowAnyMethod()
                                .AllowCredentials()
                                .AllowAnyHeader();
                     }));

    services.AddMvc();

    ...
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    ...

    app.UseCors(builder =>
    {
        builder.AllowAnyOrigin()
               .AllowAnyMethod()
               .AllowCredentials()
               .AllowAnyHeader();
    });

    app.UseAuthentication();
    app.UseMvc();
}
Run Code Online (Sandbox Code Playgroud)

这不起作用,所以我在其上添加[EnableCors]了我的`BaseController"类的属性:

[EnableCors]
[Authorize]
[Produces("application/json")]
[Route("api/[controller]")]
public class BaseController : Controller
{

}
Run Code Online (Sandbox Code Playgroud)

但我仍然收到此CORS错误:

来自' http://192.168.15.63:5302 '的' http://192.168.15.63:5301/api/permissions/UI ' 访问XMLHttpRequest 已被CORS策略阻止: 对预检请求的响应未通过访问控制检查: 当请求的凭据模式为"包含"时,响应中的"Access-Control-Allow-Origin"标头的值不能是通配符"*". XMLHttpRequest发起的请求的凭据模式由withCredentials属性控制.


我还能做些什么来彻底删除CORS?

c# asp.net-core asp.net-core-2.2

5
推荐指数
1
解决办法
4213
查看次数