Ошибка jQuery ajax в Chrome

by Blush 22. June 2010 09:47

Эдак с месяц назад, наш отдел разработки постигла тяжелая утрата - сайт перестал работать в Google Chrome!

Сайт у нас, надо сказать, считай целиком на ajax выполненном через jQuery, а оный аякс внезапно перестал работать.

Анализ правок внесенных сотрудниками и откат к версии месяячной давности ничего не дали.
За то результаты дал откат на предыдущую версию хрома.
На этом мы и успокоились, списав все на глюк браузера в виду жуткой загруженности работой и уведомив об этом пользователей.

Однако время шло, а сайт в хроме все не спешил работать, у нас выдалось некоторое время для оптимизации и сегодня я занялся этим вопросом.

Гугль информации нужной не дал и пришлось действовать самостоятельно.
На клиенте response возвращал пустую строку, а readyState = 1.
После продолжительных извращений проблема была найдена:

Так повелось прежними поколениями наших разработчиков, что большинство ajax запросов у нас обрабатывается aspx страницами и для предотвращения выдачи по ajax запросу ненужного html контента, использовалось Response.Close()  
Который "Закрывает соединение с клиентом по данному сокету.", как говорит MSDN.
А не Response.End(), который "Отправляет клиенту все выходные данные, находящиеся в данный момент в буфере, прекращает обработку страницы и создает событие EndRequest" и должен бы использоваться по идее. 

Вот и все, банальная замена решила данную проблему.

Как то обидно, что причиной продолжительных проблем, явилось банальное следование документации, одним из браузеров и невнимательность наших предшественников к описаниям функций.

Tags: , , ,

Цифровое | ASP.Net

Add comment




  Country flag
biuquote
  • Comment
  • Preview
Loading






www.gavrilov-fam.ru

RecentComments

Comment RSS

Стоит внимания

democrator.ru