jsonでエラーが発生した400ステータスコードを返すのに奇妙な問題があります。ステータスコード400(.net)のJSONを返さないサーバー
if(!ModelState.IsValid)
{
string[] errors = ModelState.Values
.SelectMany(x => x.Errors)
.Select(x => x.ErrorMessage).ToArray<string>();
Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
return Json(new { success = false, errors = errors }, JsonRequestBehavior.DenyGet);
}
これは私の開発マシン上で正常に動作します:私のコントローラで
は、私のようなものを持っています。私はajaxエラーメソッドでエラーを取得できます。しかし、サーバーにデプロイすると、サーバーはJSONを返さなくなります。私はいつもreponseJSONの代わりにresponseTextを取得します。私はResponse.StatusCodeを削除する場合、それは正常に動作します。
これは、ResponseオブジェクトのStatusCodeプロパティを設定したときに関数が返されると考えています。これは誰にも起こったのですか?誰もが解決策を知っていますか?
これを行うには 'JsonRequestBehavior.AllowGet' – Bharadwaj