Angular 2 서비스를 통해 POST 요청을 ASP.NET Core API로 보낼 때 문제가 발생합니다. .. 나는 현재 HTTP 500 오류가 점점 오전 :.ASP.NET 코어 CORS가있는 Angular2는 POST 요청을 보낼 때 문제가 발생합니다.
"XMLHttpRequest의이 http://localhost:51014/api/sites를로드 할 수 없음 '액세스 제어 - 허용 - 원산지'헤더 따라서 액세스가 허용되지 않는 요청 된 리소스 기원 'http://localhost:3000'의 존재를 응답이 있었다 HTTP 상태 코드 500입니다. "
GET 요청에서이 오류가 표시되지 않고 CORS 설정이 올바르게 서버 측에 있는지 확인할 수 있습니까?
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
...
services.AddCors();
services.AddMvc();
....
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
...
app.UseCors(builder =>
builder.WithOrigins("http://localhost:3000")
.AllowAnyHeader()
.AllowAnyMethod());
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
SitesContoller.cs
// POST: api/Sites
[HttpPost]
public async Task<IActionResult> PostSite([FromBody] Site site)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
_context.Sites.Add(site);
try
{
await _context.SaveChangesAsync();
}
catch (DbUpdateException)
{
if (SiteExists(site.Id))
{
return new StatusCodeResult(StatusCodes.Status409Conflict);
}
else
{
throw;
}
}
return CreatedAtAction("GetSite", new { id = site.Id }, site);
}
내 코너 2 서비스 :
site.service.ts이 01,235 니펫
public createSite(site: Site): Observable<Site> {
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
let body = JSON.stringify(site);
return this.http
.post(this.apiUrl + 'sites', { body }, options)
.map((res: Response) => res.json());
}
답변을 찾으셨습니까? ASP.NET Core의 버그처럼 보입니다 ...? – ajbeaven