MVCコントローラで次のコードを使用して、ajax呼び出し中に発生する例外を処理しています。MVCとangularjsでajax例外を処理するには?
protected override void OnException(ExceptionContext filterContext)
{
if (filterContext.HttpContext.Request.Headers["X-Requested-With"] == "XMLHttpRequest")
{
filterContext.Result = new JsonResult
{
JsonRequestBehavior = JsonRequestBehavior.AllowGet,
Data = new { Error = true, Msj = filterContext.Exception.Message }
};
}
}
オブジェクト$ http(AngularJs)のerrorCallback関数を使用してフロントエンドでエラーを処理します。 filterContext.ExceptionHandled = true;
角度はエラーを認識せず、成功関数を実行します。 filterContext.ExceptionHandled = false;
をAngularに設定するとエラー関数が実行されますが、asp.netはjson結果のオブジェクト "Data"を通常の黄色エラーページに置き換えます。
asp.netがレスポンスを置き換えるのを避けることはできますか?
何か助けていただければ幸いですか?
よろしくお願いいたします。
if条件がtrueを返すのは本当ですか? – Shyju
はい、完全です。私はAngularヘッダを適切に設定しました:$ http.defaults.headers.post ["X-Requested-With"] = "XMLHttpRequest"; – Ayorus
投稿した回答を見てください。 – Shyju