我在调试 Ajax 调用中返回的代码时遇到了一些问题 - 特别是在 json 中返回的函数(错误不会被困在 Firefox 中) - 直到我开始在 Internet Explorer 中调试这些问题(我认为这是一个与 firefox 相关的问题,因为 Venkman 也没有检测到这些错误)你知道有什么方法可以调试从 Ajax 调用返回的 json 代码吗?
已编辑 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');}}
如果您在浏览器中加载页面并单击“测试”按钮(一切顺利),您将在控制台中看到一些内容,以及一个显示“嘿”的警报框。现在将 data.json 文件更改为:
{'func':function(){console.log('loaded...');alerts('hey');}}
...并再次单击“测试”按钮(无需重新加载页面;-)您得到控制台行,但没有警告框...并且没有错误!!!这是我要调试的那种错误。