Ремонт компьютера
Сборка, чистка, апгрейт ремонт любой техники.
Замена частей, установка ПО, установка Windows, антивируса.
Удаленная помощь без вызова на дом.
Создание сайта
Создание сайта с нуля, модулей, скриптов для сайта.
Движки Joomla, Wordpress, Opencart, Prestashop и тд.
SEO продвижение, ремонт, оптимизация сайта.

Вывод ошибок ajax, исключения

Думаю многие с таким столкнулись, при ошибках в ajax многие модули на php не выводят ошибки, а просто дохнут на запросе ajax ($.ajax({). Опишу как сделать Вывод ошибок ajax, исключения в таких ситуациях.Ищем запрос ajax в коде вот мой например в filterPro:

$.ajax({url:"index.php?route=module/filterpro/getproducts", type:"POST", data:a + (b ? "&getPriceLimits=true" : ""), dataType:"json",
success:function (g) {
... }
});

Видим при успехе он выполняет операции (…). Но изза ошибки он и не падает на успех, все что нужно это добавить исключения error:

$.ajax({url:"index.php?route=module/filterpro/getproducts", type:"POST", data:a + (b ? "&getPriceLimits=true" : ""), dataType:"json",
success:function (g) {
... },
error: function(jqXHR, exception)
{
if (jqXHR.status === 0) {
alert('Not connect.\n Verify Network.'); //  не включен инет
} else if (jqXHR.status == 404) {
alert('Requested page not found. [404]'); // нет такой страницы
} else if (jqXHR.status == 500) {
alert('Internal Server Error [500].'); // нет сервера такого
} else if (exception === 'parsererror') {
// ошибка в коде при парсинге
alert(jqXHR.responseText);
} else if (exception === 'timeout') {
alert('Time out error.'); // недождался ответа
} else if (exception === 'abort') {
alert('Ajax request aborted.'); // прервался на стороне сервера
} else {
alert('Uncaught Error.\n' + jqXHR.responseText); // не знает что это
}
} // error
}); // общий

Русская версия error:

error: function(jqXHR, exception)
{
if (jqXHR.status === 0) {
alert('НЕ подключен к интернету!');
} else if (jqXHR.status == 404) {
alert('НЕ найдена страница запроса [404])');
} else if (jqXHR.status == 500) {
alert('НЕ найден домен в запросе [500].');
} else if (exception === 'parsererror') {
alert("Ошибка в коде: \n"+jqXHR.responseText);
} else if (exception === 'timeout') {
alert('Не ответил на запрос.');
} else if (exception === 'abort') {
alert('Прерван запрос Ajax.');
} else {
alert('Неизвестная ошибка:\n' + jqXHR.responseText);
}
}

Не забывайте главное запятую поставить после success. И помните, этот способ хорош на время отладки, а так можете сделать более уязвимым сайт (он так же выводит и переменные и их значения).  Тестировал у себя, пока нету проблемм, если есть улучшения кода пишите в комменте, будем улучшать вместе.

Название статьи при не правильной раскладке клавиатуры: Dsdjl jib,jr ajax, bcrk.Xtybz
Если вдруг появилось желание поблагодарить автора,просто нажмите на рекламу чуть ниже, этого будет достаточно :)

Один отзыв

Добавить комментарий

Ваш e-mail не будет опубликован.


Вставьте верное число *