この質問は何度も尋ねられるかもしれませんが、オンラインで利用可能な解決策は私のために働いていません。私たちのプロジェクトでASP NET CORE - ANGULAR要求されたリソースに 'Access-Control-Allow-Origin'ヘッダーが存在しません
我々はそれがデータベースを処理するWebメソッドにAsp.Netページとして持っているか、私はそれをこのように置くかのように、我々はWEBAPIを持っている: - 私たちは、ASPNET持っ
http://server/Pages/ApplicationData.aspx/GetApplicationLookups
今この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)
}
は、私は次のエラーを取得することを呼び出し、コア角度Webアプリケーション: -
私は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の読み込みに失敗しました:プリフライトリクエストへの応答は、アクセス制御チェックに合格しない:いいえ「アクセス制御 - 許可 - 起源」ヘッダは、要求されたリソース上に存在します。 Origin 'http://localhost:60602'はアクセスできません。
私が紛失している可能性のあるアイデア。
おかげ
私はコードを更新しました。 ありがとう – user31823
こんにちは、同じサーバーからPOSTMANで同じURLを試してみました。後で私はGETリクエストメソッドを追加しました。私のプロジェクト、つまりVisual Studio 2017では機能しません。 私はサーバーを変更しようとしましたが、すべての異なるアカウントを持つすべてのサーバーで動作しませんでした。 – user31823
私は郵便配達員の仕組みを知らないので、私はそれを使用しません。しかし、私はASP.NETとCorsについて知っていますし、あなたがそれを実行すると要求を受け取ることができるようにCorsのエラーを受け取らないように設定する方法を知っています。 Corsへのアクセスは、クライアントではなくサーバー上で構成されます。したがって、あなたの状況で、あなたが投稿しているサーバがlocalhostからの呼び出しを受け取るように設定されていない場合、動作しません。 –