저는 CORS로 POST 요청을하는 데 실제로 고심하고 있습니다.Angular 2를 사용하여 POST에서 ASP.NET MVC 4에서 교차 출처 요청을 사용하는 방법
나는 실제로 내 컨트롤러
using System;
using System.Web.Mvc;
public class AllowCrossSiteAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.RequestContext.HttpContext.Response.AddHeader("Access-Control-Allow-Origin", "http://localhost:4200");
filterContext.RequestContext.HttpContext.Response.AddHeader("Access-Control-Allow-Headers", "*");
filterContext.RequestContext.HttpContext.Response.AddHeader("Access-Control-Allow-Credentials", "true");
base.OnActionExecuting(filterContext);
}
}
내부에 내 방법에 올바른 응답 헤더를 추가하는 클래스를했습니다 나는이
[AllowCrossSite]
public ActionResult GetReportParameters(string IdRapport)
하지만 문제는이 특정 콘텐츠 형식을 전달하기 위해 사용자 지정 헤더가있는 POST 요청을하려고 할 때입니다.
'Content-Type': 'application/json; charset=utf-8'
실제로이 응답을
은 그래서 아무것도처럼 헤더
받고 있어요 것은 내가 제대로 내 속성 클래스에 갈거야 경우에도 헤더에 대해 이루어집니다. 여기는 우편 배달, 모든 일의 여행이 제대로 나는 아니오 컨트롤러 내부의 방법에서 내 매개 변수에 액세스 할 수 있습니다 선언하는 문제가 없습니다 사용하여 각도 2 서비스
const headers = new Headers({ 'Content-Type': 'application/json; charset=utf-8' });
const options = new RequestOptions({ headers: headers , withCredentials: true });
const mock = {
name: 'TitreRegroupement1',
visible: false,
type: 'System.String',
value: 'Test'
};
// tslint:disable-next-line:max-line-length
const body = JSON.stringify({ idRapport: '00392024-d171-4f39-9c5c-97a51f53fd54', filtre: '', exportFormat: '', parameters: data });
return this.http.post('http://localhost:8080/ReportingViewer/ExportReport', body, options)
.map((response: Response) => {
return this.extractSingleData(response, Parameters);
})
.catch(this.handleError);
}
내 전면입니다 문제.
일부 신체가 나를 이해할 수있는 몇 가지 팁을 줄 수 있다면 나는 그들을 듣기 좋다! :)