Отладка JS

Absinthe

жожо
Нашел критический баг в отладчике хрома:
Выполняить ajax-запрос 1 с возвращаемым типом json и корректными данными.
Выполняить ajax-запрос 2 с возвращаемым типом json и некорректными данными.
Содержимое второго запроса будет отображаться как содержимое первого, хотя на самом деле это не верно.
Ошибка воспроизводима.

Приходится изменять контент-тайп и смотреть ответ, после чего менять тип обратно.
Думаю, что пора бы изменить отладчик.
Сейчас пользуюсь firebug, хоть он и не такой удобный.
Посоветуйте плагины или инструменты, которыми отлаживаете JS сами.

P.S. Не надо ничего говорить про иссусий трекер хрома. Это гугл, и поддержки пользователей у них нет :D
 

Ragazzo

TDD interested
Посоветуйте плагины или инструменты, которыми отлаживаете JS сами.
Ctrl+Shift+I в Opera/Mozilla/Chrome. В опере мне не нравилось мониторить запросы, в хроме как-то проще мне было и быстро привык, один фиг они все подобны. Ошибки не может быть из-за конкурирующих ajax запросов и того что сессия лочится например?
 

Absinthe

жожо
Ragazzo Вот именно эта штука в хроме и не работает. Я про нее говорил.

Ошибки не может быть из-за конкурирующих ajax запросов и того что сессия лочится например?
Да ничего там не лочится, при изменении контент-тайпа же все нормально показывает :)
Опера тоже плохо работает с таким кодом: пишет, что не может распарсить json в ответе, и ничего не отображает. Ну хоть не врет, как хром.
Firebug справляется, но он некрасиво показывает, и надо много вертикально скроллить. Не удобно.
 

fixxxer

К.О.
Партнер клуба
Таки может это не ошибка, а просто область видимости переменной? ;)

var result;
....
ajax({
onSuccess: function() { result = ... }
})

только в более запутанном виде?

Или забытый var и неиспользование strict mode...

p.s. лучше фаербага ничего нет, хромовский отладчик менее удобен, то, что в последних версиях пытаются впилить в фф нативно - вообще говно. Оперу за браузер не считаю =)
 

Ragazzo

TDD interested
fixxxer
Оперу за браузер не считаю =)

P.S. один фиг в них во всех безбожно тормозит плеер, только в ФФ чуть получше чем в опере и хроме. Кстати в опере драгонфлай то все таки можно как-то запустить в оффлайне, т.е. без соединения с интернетом, а то я пытался, он пишет что коннекта нету, и все (я и забил потом давно на это)?
 

Absinthe

жожо
Таки может это не ошибка, а просто область видимости переменной?
А это при чем? В данном JS не включена в описание проблемы. Будем считать, что никакого onSuccess нет :)
А во втором запросе заведомо сделана ошибка (несоответствие типа(json) и контента(не json) в ajax-ответе). К примеру, варнинг вылез. Или отладочная строка.
И именно эту ошибку некорректно обрабатывает хром. А opera ошибку опознает, но и не помогает исправить.
 

Ragazzo

TDD interested
Absinthe
Content-type то тот?нууу это так на всякий случай) ночь уже... может не увидел :)
 

Absinthe

жожо
Ragazzo
Я 2 раза сказал, что он не соответствует данным :D
Тип json, а данные не json, т.к. в коде возникла ошибка (варнинг, к примеру, вылез перед/вместо json).

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

Ragazzo

TDD interested
Absinthe
Тип json, а данные не json, т.к. в коде возникла ошибка (варнинг, к примеру, вылез перед/вместо json).
ты в опере точно настроил все чтобы ругалась?ну там и в окне ошибок выбрал уровни и обычно кстати у меня она в консоле когда держишь открытым окно скрипты, то при варнинге/ошибке сразуже стопится на том месте где это случилось и появляется красный брейк-пойнт.
 

Absinthe

жожо
Ragazzo обрисую проблему.
ajax-ответ содержит тип json и контент не-json. Потому что в нем ошибка. Не в JS ошибка, а в ответе сервера на ajax-запрос из JS.
Опера пишет: "Не удалось отобразить данные типа text/json". Скопировал дословно.
 

lagoff

Новичок
Absinthe, а где именно в дебагере вы смотрите результат запроса?
 

lagoff

Новичок
Проверил только что, не воспроизводится ошибка. Version 22.0.1229.56
 

lagoff

Новичок
Если то, что на вкладке Preview != тому что на Response, тогда глюк однозначно.
Но больше похоже просто на сработку кеша. Изменение хедеров объясняет это.
А если попробовать в настройках консоли кеш выключить, что будет?
 

Absinthe

жожо
lagoff это не кэш - запросы абсолютно разные, а когда ошибки нет во втором - и ответы разные.
 

Yoskaldyr

"Спамер"
Партнер клуба
это баг хрома (почти всех последних версий). Кеширует все что только можно
Еще один баг с теми же самыми корнями - кеширование DELETE запросов
http://habrahabr.ru/post/148779/
кстати в комментах там была ссылка на плагин быстрой очистки кеша для хрома
 
Сверху