jQuery的:print_r()显示等效?

可能重复:
JavaScript数据格式/漂亮的打印机

我有点厌倦了在FireBug中查看未格式化的json斑点。

有没有人知道相当于PHP的print_r()的jQuery?

什么东西会recursion地从一个对象或数组显示string,我可以显示在页面上进行快速debugging?

谢谢!

console.log是我在debugging时经常使用的。

我能够find这个jQuery extension

你可以很容易地使用reflection来列出所有的属性,方法和值。

对于基于Gecko的浏览器,您可以使用.toSource()方法:

 var data = new Object(); data["firstname"] = "John"; data["lastname"] = "Smith"; data["age"] = 21; alert(data.toSource()); //Will return "({firstname:"John", lastname:"Smith", age:21})" 

但是既然你使用Firebug,为什么不使用console.log?

感觉如何?

 <script src='jquery-latest.js'></script> function print_r(o){ return JSON.stringify(o,null,'\t').replace(/\n/g,'<br>').replace(/\t/g,'&nbsp;&nbsp;&nbsp;'); } 

你也可以做

 console.log("a = %o, b = %o", a, b); 

其中a和b是对象。

 $.each(myobject, function(key, element) { alert('key: ' + key + '\n' + 'value: ' + element); }); 

这为我做的工作。 🙂

我做了一个相当于jQuery的插件

 <pre> <?php echo print_r($data) ?> </pre> 

你可以在https://github.com/tomasvanrijsse/jQuery.dump下载它;

热门评论有一个到Firebug的console.log文档的链接断了,所以这里是关于控制台的维基文章的链接 。 我开始使用它,并且对PHP的print_r()的替代方法非常满意。

另外值得注意的是,即使您没有手动logging它们,Firebug也允许您访问返回的JSON对象:

  • 在控制台中,您可以看到AJAX响应的URL。
  • 点击三angular形展开回复并查看详细信息。
  • 点击细节中的JSON标签。
  • 您将看到使用扩展三angular形组织的响应数据。

这个方法需要多点击才能获取数据,但不需要在实际的JavaScript中添加任何内容,也不会将焦点从Firebug转移出控制台(使用console.log创build到萤火虫的DOM部分的链接,迫使你点击回到控制台)。

对于我的钱,我宁愿点击几次,当我想检查,而不是乱七八糟的日志,尤其是因为保持控制台整洁,没有添加任何额外的东西。

看看这个: http : //phpjs.org/functions/indexfindprint_r或使用console.log()与萤火虫。