【问题标题】:ASP .NET Core asynchronous partial viewASP .NET Core 异步局部视图
【发布时间】:2018-02-02 00:20:22
【问题描述】:

我正在尝试使用 React.js 从 ASP .NET Core Web 应用程序调用 Drupal Web api,但是我收到以下错误:

请求中没有“Access-Control-Allow-Origin”标头 资源。因此,不允许访问 Origin '[my-drupal-api]'。

我已尝试将以下内容添加到我的 Startup.cs:

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

app.UseCors("CorsPolicy");

我仍然遇到同样的错误。

我很好奇是否有另一种方法可以在服务器端执行此操作,而无需做出反应。有没有办法做一个异步局部视图来加载从 Drupal web api 返回的数据,而不会延迟页面其余部分的加载?

谢谢!

【问题讨论】:

    标签: drupal asp.net-core asp.net-core-webapi


    【解决方案1】:

    启动可以这样配置:

    public class Startup
    {
        public const string CorsPolicyName = "YourSiteCorsPolicyName";
    
        ...
    
        public IConfigurationRoot Configuration { get; }
    
        public void ConfigureServices(IServiceCollection services)
        {
            ...
    
            var corsBuilder = new CorsPolicyBuilder();
            corsBuilder.AllowAnyHeader();
            corsBuilder.AllowAnyMethod();
            corsBuilder.AllowAnyOrigin();
            corsBuilder.AllowCredentials();
    
            services.AddCors(
                options =>
                {
                    options.AddPolicy(CorsPolicyName, corsBuilder.Build());
                });
        }
    
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            ...
            app.UseCors(CorsPolicyName);
        }
    }
    

    在您的控制器中,您可以使用定义的常量进行标记:

    [EnableCors( Startup.CorsPolicyName )]
    public class YourController : Controller { 
        ...
    }
    

    【讨论】:

    • 感谢您的回复。我仍然收到相同的错误:无法加载1.1.1.1/api/news:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问 Origin 'localhost:11111'。
    • 当应用程序托管在真实服务器而不是本地计算机上时,您是否会遇到此问题?您可能也有兴趣阅读此内容stackoverflow.com/questions/44544425/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-21
    • 2019-12-05
    • 2019-10-22
    • 1970-01-01
    • 2016-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多