Çeşitli işlemler gerçekleştirdiğimde döndüğüm karmaşık bir türüm var. Ve herhangi bir hataları göstermek için özel bir JSON nesnesini nasıl geri gönderebileceğimi bilmek istiyorum. Aşağıdaki kodu düşününC# asp.net mvc özel hata yönetimi JSON ile
İş Katmanı
public ResultObject StartJob(string jobName){
...
return new ResultObject{ErrorMessage = "Job cannot be started due to ..."};
}
= false, ajax çağrısı yine de başarılı
bana başarıyı dönen rağmen ajax yazı gerçekleştirmek[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);
}
}
olan Kontrolör ve jQuery çağırmaz error() yöntemi.
Bu tür desen, birçok kez tekrarlanır.
istemci tarafında başarı değerini kontrol ve gitmek Ajax başarı içine işlemek istiyorsanız değeri hiç denilen olurdu ne yanlış çağrı olduğunda error() yöntemi. 'if (data.success) {...} else {myerror (data.message);}' – Nkosi
Jquery, aramanın başarılı olup olmadığını belirlemek için özel json nesnesi başarı bayrağına bakmaz. kod döndü. Örneğinizde 200 OK cevabı döndürülecek, bu nedenle hata işleyicisi çalıştırılmayacaktır. @Nkosi'nin belirttiği gibi, ajax etkinliğinizin başarı işleyicisinde data.success işaretini kontrol edebilirsiniz. – Macilquham