У меня есть пара проблем с отладкой кода, возвращаемого в вызове Ajax - в частности, функция, возвращаемая в json (ошибки не попадают в ловушку в Firefox) - вплоть до того момента, когда я начал отлаживать эти проблемы в Internet Explorer ( Я думаю, что это проблема, связанная с firefox, поскольку Venkman также не обнаруживает эти ошибки.) Вы знаете какой-либо способ отладки кода, возвращаемого json из вызова Ajax?
EDITED 03/04/2009 15:05
Спасибо всем за ваши ответы, но я думаю, что я недостаточно хорошо себя объяснил. Я достаточно знаю Firebug для базовой отладки, но моя проблема возникает, когда я извлекаю код в вызове Ajax, у которого есть проблема с ним. Скажем, у нас есть следующий HTML файл (вам понадобится прототип в той же папке, чтобы он работал правильно):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script type="text/javascript" src="prototype.js"></script>
</head>
<body>
<script>
function ajaxErrorTest()
{
new Ajax.Request('data.json', {
'method': 'get',
'onSuccess': function(data){
if(data.responseJSON.func)
data.responseJSON.func();}});
}
</script>
<input type="button" value="test" onclick="ajaxErrorTest();" />
</body>
</html>
а затем содержимое файла data.json:
{'func':function(){console.log('loaded...');alert('hey');}}
Если вы загрузите страницу в браузере и нажмите кнопку "Тест" (и все будет хорошо), вы получите что-то в консоли и окно с предупреждением "hey". Теперь измените файл data.json на это:
{'func':function(){console.log('loaded...');alerts('hey');}}
... и снова нажмите кнопку "Тест" (нет необходимости перезагружать страницу;-) Вы получаете консольную линию, но нет окна предупреждения... и никаких ошибок!!! это те ошибки, которые я пытаюсь отлаживать.