ajax - 使用 Firebug 调试 Ajax 代码

标签 ajax json firebug

我在调试 Ajax 调用中返回的代码时遇到了一些问题——特别是在 json 中返回的函数(错误不会被困在 Firefox 中)——直到我开始在 Internet Explorer 中调试这些问题(我认为这是一个与 firefox 相关的问题,因为 Venkman 也没有检测到这些错误)你知道有什么方法可以调试从 Ajax 调用返回的 json 代码吗?

已编辑 03/04/2009 15:05

感谢大家的回复,但我认为我解释得不够好。我对 Firebug 的了解足以进行基本调试,但是当我在 Ajax 调用中获取一些有问题的代码时,就会出现问题。假设我们有以下 HTML 文件(您需要在同一文件夹中使用原型(prototype)才能使其正常工作):

<!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');}}

...并再次单击“测试”按钮(无需重新加载页面;-)
你得到控制台线,但没有警告框......而且没有错误!!!这是我要调试的那种错误。

最佳答案

尝试单击“控制台”面板(它是一个选项卡)并启用它。您会发现任何 HTTP 请求都将与它们包含的任何信息一起被捕获。我使用它来查看存储在请求中的任何 JSON 以及任何错误(500/404/等)。

另请注意,您必须在每个域的基础上启用控制台面板。通常有三个子选项卡:标题、帖子和响应。当我调试我的 AJAX 时,我通常会经常使用 post/response 选项卡。

关于ajax - 使用 Firebug 调试 Ajax 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/606794/

相关文章:

javascript - 获取状态为 0

Mac 上的 Firefox 中的 JQuery AJAX 错误,用户数为 "Managed"

json - 为什么 GraphQL 没有被设计为有效的 json 文档?

jquery - FireBug和监控JSONP跨域请求

jquerymobile Phone间隙后退按钮获取先前状态

javascript - 将类名添加到使用 AJAX 和 PHP 数组生成的范围

javascript - 在数据事件中访问 c​​3js 中的数据值

java - 如何将json输出保存到String对象中,所有拆分后的文件都写入了重复数据?

html - 如何制作像 Firebug 这样的插件?

css - 有没有办法在 Firebug 中显示 LESS CSS 代码(.less)?