PDA

View Full Version : سوال: مدیریت خطا در زمان استفاده از Ajax



vbkaar
جمعه 03 شهریور 1396, 15:16 عصر
سلام.
من میخواستم بپرسم بهترین روش برای مدیریت خطا موقع استفاده از Ajax چطوری هست. الان مثلا این اکشن رو در نظر بگیرید:


public ActionResult Delete(int id)
{
try
{
var db = new MyContext();
var p = db.Persons.Find(id);
if (p != null)
{
db.Persons.Remove(p);
db.SaveChanges();
return new HttpStatusCodeResult((int)HttpStatusCode.OK);
}
else {
return new HttpStatusCodeResult((int)HttpStatusCode.BadReques t);
}
}
catch (Exception)
{
return new HttpStatusCodeResult((int)HttpStatusCode.BadReques t);
}
}


الان من میخوام اگه Person با id مشخص شده یافت نشد یا در صورتی که خطایی موقع حذف مورد اتفاق افتاد سمت کلاینت Alert بدم.

سمت کلاینت هم میتونه چنین چیزی باشه.

$.ajax({
type: "Delete",
url: "/Person/Delete/1",
success: function (Result) {
$("#PersonList").html(Result);
}},
error: function (err) {
alert("بروز مشکل در حذف");
}
})


من یک مقداری در مورد مدیریت خطا تحقیق کردم و در مورد HandleError چیزایی خوندم ولی با این روش اون چیزی که میخوام رو نتونستم پیاده سازی کنم. الان سوال من اینه با توجه به کدهایی که قرار دادم ، روش بهتری برای مدیریت خطا وجود داره؟ روش استاندارد در این حالت چیه؟ اگه ممکنه نمونه کد قرار بدید لطفا. ممنون.

Moien Tajik
جمعه 03 شهریور 1396, 15:53 عصر
با این روش اون چیزی که میخوام رو نتونستم پیاده سازی کنم.
چیزی که میخواید پیاده کنید رو باید بگید تا بشه راهنمایی کرد .

شما داخل متد error با استفاده از پارامتر err میتونید Error Handling رو انجام بدید .
سمت سرور در صورت خطا پیام متناسب و یا status code برمیگردونید و در error میتونید response اون ارور رو به کاربر نشون بدید :
https://stackoverflow.com/a/4707762/6661314