যদি সার্ভার 200 এর চেয়ে আলাদা কিছু স্থিতি কোড প্রেরণ করে তবে ত্রুটি কলব্যাক কার্যকর করা হয়:
$.ajax({
url: '/foo',
success: function(result) {
alert('yeap');
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert('oops, something bad happened');
}
});
এবং একটি বিশ্বব্যাপী ত্রুটি হ্যান্ডলার নিবন্ধিত করতে আপনি এই $.ajaxSetup()
পদ্ধতিটি ব্যবহার করতে পারেন :
$.ajaxSetup({
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert('oops, something bad happened');
}
});
আর একটি উপায় জেএসএন ব্যবহার করা। সুতরাং আপনি সার্ভারে একটি কাস্টম অ্যাকশন ফিল্টার লিখতে পারেন যা ব্যতিক্রম এবং এটিকে JSON প্রতিক্রিয়াতে রূপান্তরিত করে:
public class MyErrorHandlerAttribute : FilterAttribute, IExceptionFilter
{
public void OnException(ExceptionContext filterContext)
{
filterContext.ExceptionHandled = true;
filterContext.Result = new JsonResult
{
Data = new { success = false, error = filterContext.Exception.ToString() },
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
}
}
এবং তারপরে এই বৈশিষ্ট্যটি সহ আপনার নিয়ামক ক্রিয়াকে সজ্জিত করুন:
[MyErrorHandler]
public ActionResult Foo(string id)
{
if (string.IsNullOrEmpty(id))
{
throw new Exception("oh no");
}
return Json(new { success = true });
}
এবং অবশেষে এটি প্রার্থনা করুন:
$.getJSON('/home/foo', { id: null }, function (result) {
if (!result.success) {
alert(result.error);
} else {
// handle the success
}
});