Лучший отвечающий
Как бороться с ajax err 500

Вопрос
-
Всем доброго времени суток!
На стороне клиента, javascript код, с периодичностью обращается к серверу и подтягивает данные в формате Json, затем их обрабатывает.
Иногда от сервера приходить сообщение "ajax 500 internal server error", и все последующие ajax-запросы отваливаются с точно такой же ошибкой. Если обновить страницу(F5), то связь с сервером налаживается и запросы опять выполняются. Если на сообщение об ошибке не обращать внимание, то они будут накапливаться и спустя таймаут сессия на сервере закрывается.
Подскажите пожалуйста, как восстановить связь с сервером без обновления страницы?// Пример ajax блока: function oneT() { $.ajax({ type: "POST", contentType: "application/json; charset=utf-8", url: "Main.aspx/getTagValue", dataType: "json", success: function (response) { for (var i = 0; i < response.d.length; i++) { setValueTag(response.d[i][0], response.d[i][1], response.d[i][2], response.d[i][3]); } } }); } setInterval(oneT, 5000);
19 марта 2013 г. 10:12
Ответы
-
Нужно искать проблемы в серверном коде, в методе который отвечает на ваш запрос, так как ошибка оттуда.
- Предложено в качестве ответа YatajgaModerator 24 марта 2013 г. 16:31
- Помечено в качестве ответа Abolmasov DmitryModerator 26 марта 2013 г. 15:42
19 марта 2013 г. 10:56Модератор -
В крайнем случае, как воркэраунд - можно в методе ajax добавить обработчик события ошибки (error), в котором попробовать с помощью javascript обновить страницу.
Но как вам уже посоветовали - ищите ошибку в методе на стороне службы, оберните код в try-catch, логируйте возникающие ошибки.
Для связи [mail]
- Предложено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 25 марта 2013 г. 13:37
- Помечено в качестве ответа Abolmasov DmitryModerator 26 марта 2013 г. 15:43
21 марта 2013 г. 8:43Модератор
Все ответы
-
Нужно искать проблемы в серверном коде, в методе который отвечает на ваш запрос, так как ошибка оттуда.
- Предложено в качестве ответа YatajgaModerator 24 марта 2013 г. 16:31
- Помечено в качестве ответа Abolmasov DmitryModerator 26 марта 2013 г. 15:42
19 марта 2013 г. 10:56Модератор -
Ок, спасибо=)
Пришел к такому же выводу. Вот только отследить ошибку пока не удается=)
19 марта 2013 г. 11:33 -
Если серверный код ваш, то запустите в режиме отладки. При возникновении исключения отладчик сам остановится на нужном куске кода.19 марта 2013 г. 11:36Модератор
-
Код мой=) Вот просто подобное исключение может появиться как и спустя 20 минут работы проекта, так и отработать сутки без единой ошибки.
Но спасибо за идею, попробую помониторить ошибку.
- Изменено wUI 20 марта 2013 г. 2:34
20 марта 2013 г. 2:05 -
Тогда нужно посмотреть логи сервера и IIS, там ошибка пишется. Посмотрите и отпишитесь.20 марта 2013 г. 6:08Модератор
-
В режиме отладки приложение отработало без ошибок 24 часа.=) Сейчас просмотрю лог-файлы.21 марта 2013 г. 4:43
-
В крайнем случае, как воркэраунд - можно в методе ajax добавить обработчик события ошибки (error), в котором попробовать с помощью javascript обновить страницу.
Но как вам уже посоветовали - ищите ошибку в методе на стороне службы, оберните код в try-catch, логируйте возникающие ошибки.
Для связи [mail]
- Предложено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 25 марта 2013 г. 13:37
- Помечено в качестве ответа Abolmasov DmitryModerator 26 марта 2013 г. 15:43
21 марта 2013 г. 8:43Модератор