دسته بندی ها
02:09 1399/06/27

نحوه خطایابی و کنترل خطا موقع استفاده از ایجکس

مشخصات سوال کننده :
کاربر : pedram_khan     امتیاز کاربر : 277     رتبه کاربر : 6
دسته بندی : جی کوئری

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2648
هوش مصنوعی

پاسخ هوش مصنوعی

برای کنترل خطا در درخواست های AJAX در جی کویری، می توانید از پاسخ های سرور استفاده کنید. معمولاً سرور باید در پاسخ خود، وضعیت موفقیت یا خطای درخواست را به همراه یک پیام دقیق ارسال کند. در اینجا یک نمونه از نحوه پیاده سازی این کار آورده شده است.

$.ajax({
    url: "userCreation.ashx",
    data: { u:userName, p:password, e:email },
    type: "POST",
    beforeSend: function(){ disableSubmitButton(); },
    complete: function(){ enableSubmitButton(); },
    error: function(xhr, statusText, errorThrown){
        // در اینجا می توانید بررسی کنید که آیا خطا در سرور اتفاق افتاده است یا خیر
        if (xhr.status === 400) {
            // خطاهای کاربر را در اینجا مدیریت کنید
            var errorMessage = xhr.responseJSON ? xhr.responseJSON.message : "خطای نامشخص";
            alert("خطا: " + errorMessage);
        } else {
            alert("مشکلی در ارتباط با سرور وجود دارد.");
        }
    },
    success: function(data){
        displayUserCreatedMessage();
        refreshUserList();
    }
});

در کد بالا، در زمان بروز خطا، وضعیت خطا و پیام را از پاسخ سرور می خوانیم. در صورتی که خطا خاصی وجود داشته باشد، می توانیم پیام مناسبی را به کاربر نمایش دهیم. همچنین اگر سرور یک JSON با یک پیام خطا ارسال کند، می توانید آن را تجزیه کرده و به کاربر نمایش دهید.

توجه داشته باشید که سرور باید در صورت وقوع خطا، پاسخ مناسبی را به کلاینت ارسال کند. برای مثال، در صورتی که نام کاربری یا ایمیل تکراری باشد، باید سرور به شکل زیر پاسخ دهد:

{ "message": "نام کاربری یا ایمیل تکراری است." }
به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 02:14 1399/06/27
نحوه خطایابی و کنترل خطا موقع استفاده از ایجکس

روشهای مختلفی برای کنترل خطا و نمایش پیغام مناسب به کاربر در استفاده از جی کوئری ایجکس استفاده میشه. یکی از این راهها اینه که یک تگ div قرار بدید و خطا ها رو داخل این تگ div نمایش بدید.

 

<div id="error"></div>

 

خب حالا با استفاده از دستور زیر در بخش error جی کوئری میتونید خطا رو نمایش بدید

 

error: function (XMLHttpRequest, textStatus, errorThrown) {
    $("#error").html(XMLHttpRequest.status + "\n<hr />" + XMLHttpRequest.responseText);
}

 

خب حالا شما میتونید علت خطا رو خیلی راحت بدونید که چی بود

 

if (XMLHttpRequest.status === 404) // display some page not found error
if (XMLHttpRequest.status === 500) // display some server error

 

به این پاسخ امتیاز بدهید    1
امتیاز: 1635 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود