在我们的项目中,我们使用WebMethod作为Asp.Net页面处理数据库,或者如果我这样说,我们有一个WebAPI: –
http://server/Pages/ApplicationData.aspx/GetApplicationLookups
现在我们有一个AspNet Core Angular Web应用程序,它调用了这个API
postgetGetApplicationLookups(url: string) { var headers = new headers(); headers.set('Accept','application/Json; charset=utf-8'); headers.set('content-Type','application/Json; charset=utf-8'); let data = {}; deBUGger; return this.http.post( url,data,{ headers: headers } ) .map(this.handleSuccess) .catch(this.handleError)}
我收到以下错误: –
如果我使用POSTMAN,这个POST调用工作正常: –
我使用以下代码修改了我的Startup.cs但我仍然得到相同的错误.
public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } public voID ConfigureServices(IServiceCollection services) { services.AddCors(options => options.AddPolicy("AllowAll",p => p.AllowAnyOrigin() //Fix API ISSUE .AllowAnyMethod() //Fix API ISSUE .AllowAnyheader())); //Fix API ISSUE services.AddMvc(); } public voID Configure(IApplicationBuilder app,IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseWebpackDevMIDdleware(new WebpackDevMIDdlewareOptions { HotModuleReplacement = true }); } else { app.UseExceptionHandler("/Home/Error"); } app.UseStaticfiles(); app.UseCors("AllowAll"); app.UseMvc(routes => { routes.MapRoute( name: "default",template: "{controller=Home}/{action=Index}/{ID?}"); routes.MapSpaFallbackRoute( name: "spa-fallback",defaults: new { controller = "Home",action = "Index" }); }); }
我的错误是: – 无法加载http://server/Pages/ApplicationData.aspx/GetApplicationLookups:对预检请求的响应未通过访问控制检查:请求的资源上没有“Access-Control-Allow-Origin”标头.因此不允许原点’http://localhost:60602‘进入.
任何想法,我可能会失踪.
谢谢
解决方法 在向StartUp.cs添加内容时,顺序很重要.在ConfigureServices函数中,您需要在AddCors调用后进行AddMvc调用.
services.AddCors(options =>{ options.AddPolicy("AllowAll",p => { p.AllowAnyOrigin() .AllowAnyheader() .AllowAnyMethod(); });});...services.AddMvc(); // must be after AddCors
在Configure函数中,只需使用一个UseCors调用:
app.UseCors("AllowAll");app.UseMvc();
并且,确保在UseMvc调用之前调用它.
希望这可以帮助.
总结以上是内存溢出为你收集整理的ASP NET CORE – ANGULAR NO’Access-Control-Allow-Origin’标头出现在请求的资源上全部内容,希望文章能够帮你解决ASP NET CORE – ANGULAR NO’Access-Control-Allow-Origin’标头出现在请求的资源上所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)