ASP NET CORE – ANGULAR NO’Access-Control-Allow-Origin’标
可能会多次询问此问题,但在线提供的解决方案对我不起作用.
在我们的项目中,我们使用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下拉列表始终返回按钮单击事件的第一个值
- Asp.Net MVC 3部分页面输出缓存不符合配置设置
- asp.net-mvc-4 – 如何使用SimpleMembership管理配置文件?
- asp.net – MVC2 – 逻辑应该去的基本问题
- asp.net – 如何创建自动提示以获得与谷歌搜索或实时搜索一
- asp.net – 动态创建的LinkBut??tons的OnClick事件不起作用
- ASP.NET Core MVC的Razor视图中,使用Html.Raw方法输出原生
- asp.net-mvc – 如何扩展asp.net web api 2用户?
- asp.net 读取xml文件里面的内容,绑定到dropdownlist中
- asp.net – 什么原因“内部连接致命错误”
- 比较自托管:WCF与HttpListener
- asp.net中的泛型处理程序是什么?
- asp.net-core – 在发布ASP.NET Core应用程序时自
- asp.net-membership – ASP.NET成员资格 – 登录
- asp.net – 如何在DLL中添加Web服务引用
- asp.net – 具有一个无效的SelectedValue,因为它
- 如何从Asp.Net传递JavaScript的价值
- asp.net-mvc – 如何填充mvc剃刀部分视图
- asp.net-mvc-4 – 当连接connecttring configSou
- asp.net-mvc – ASP.NET MVC:正确的地方为部分视