سؤال

وأنا أعمل على التطبيق المشارب يستخدم قليلا من مسج لجعل واجهة المستخدم أكثر ديناميكية / صالحة للاستعمال.

وأنا انشاء قرار خطأ، حتى إذا تم طرح الخطأ، يتم إعادة توجيه المستخدم إلى صفحة error.jsp.

ومع ذلك، إذا يتم طرح خطأ أثناء إجراء مكالمة مسج اياكس، بدلا من إعادة توجيه إلى صفحة error.jsp، وأحصل أتش تي أم أل طباعة إلى الصفحة التي نتيجة لدعوة كان ينبغي أن يكون بدلا من ذلك.

وكيف أقول مسج لإعادة توجيه إذا تم طرح استثناء بدلا من الطباعة إلى الصفحة؟

ومثال على المخالف اياكس:

$.post("SendStatusEmail.action",
            {status: newstatus, id : id },
            function(data) {
                column.text(data);
                column.addClass("redfont");
                column.parent().fadeOut(3000, function(){column.parent().remove()});
هل كانت مفيدة؟

المحلول

$(document).ajaxError(function(event, XMLHttpRequest, ajaxOptions, thrownError) {
    // redirect here.
}

وأود أن أضيف أنني لا إعادة توجيه عندما يكون هناك استثناء في مكالمة اياكس. بدلا من ذلك، لدي خادم بإرجاع وصف الخطأ في تنسيق JSON وعرض هذا في الصفحة.

نصائح أخرى

وماذا عن استخدام .ajax $ () بدلا من $ .post ()؟ و$ .ajax أكثر عمومية () يقدم رد الخطأ التي يمكن أن نطلق في حالة وجود خطأ.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top