私はさまざまな操作を実行するときに返す複合型を持っています。カスタムJSONオブジェクトをどのように戻してエラーを表示できるか知りたいです。次のコードを考えてみましょうC#asp.net mvc JSONでのカスタムエラー処理
ビジネスレイヤ
public ResultObject StartJob(string jobName){
...
return new ResultObject{ErrorMessage = "Job cannot be started due to ..."};
}
= falseの場合、AJAX呼び出しは、まだ成功し
私は私が成功を返すにもかかわらず、Ajaxのポストを行う[HttpPost]
public ActionResult StartJob(string jobName){
var resultObject = BusinessLayer.StartJob(jobName);
if (resultObject.HasErrors){
return Json(new {success = false, message = resultObject.message}, JsonRequestBehavior.AllowGet);
}
else{
return Json(new {success = true}, JsonRequestBeahvior.AllowGet);
}
}
でコントローラとjQueryを呼び出すことはありません。 error()メソッド。
このタイプのパターンは複数回繰り返されます。
は、クライアント側での成功の値をチェックしに行く Ajaxの成功の内側にそれを処理したい場合、この値は、これまでで呼ばれていたであろうものを偽の呼び出しがあるときerror()メソッド。 – Nkosi
Jqueryはカスタムjsonオブジェクトの成功フラグを調べて、呼び出しが成功したかどうかを判断します。代わりに、httpステータスが表示されます(例:コードが返されました。あなたのインスタンスでは、200 OK応答が返されるので、エラーハンドラは呼び出されません。 @Nkosiが述べたように、あなたのajaxイベントの成功ハンドラでdata.successフラグをチェックすることができます。 – Macilquham