私は実際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);
}
で私の正面側で、全部の旅行は正しく私はノーとコントローラ内のメソッドから、私のパラメータにアクセスすることができます問題。
身体が私に理解できるヒントをいくつか与えることができれば、私はそれらを聞いてうれしいです! :)