我对在FireBug中查看未格式化的json blob感到有些厌倦。
有没有人知道jQuery的PHP的print_r()等同于什么?
可以递归地从对象或数组中生成显示字符串的东西,我可以在页面上显示以便快速调试吗?
谢谢!
答案 0 :(得分:68)
console.log
是我在调试时经常使用的。
我能够找到这个jQuery extension
。
答案 1 :(得分:44)
您可以非常轻松地使用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?
答案 2 :(得分:16)
如下:
<script src='http://code.jquery.com/jquery-latest.js'></script>
function print_r(o){
return JSON.stringify(o,null,'\t').replace(/\n/g,'<br>').replace(/\t/g,' '); }
答案 3 :(得分:9)
您也可以
console.log("a = %o, b = %o", a, b);
其中a和b是对象。
答案 4 :(得分:6)
我已经制作了相当于
的jQuery插件<pre>
<?php echo print_r($data) ?>
</pre>
下载
答案 5 :(得分:5)
热门评论指向Firebug的console.log文档的链接已损坏,因此这里是a link to the wiki article about Console。我开始使用它并且非常满意它作为PHP的print_r()的替代品。
另外值得注意的是,即使没有手动记录它们,Firebug也可以访问返回的JSON对象:
此方法需要更多点击才能获取数据,但不需要在实际的javascript中添加任何内容,也不会将您的焦点转移到Firebug中(使用console.log创建指向DOM的链接)萤火虫部分,迫使你点击回到控制台后)。
对于我的钱,当我想检查而不是弄乱日志时,我宁愿再点击几次,特别是因为不加任何额外的残留物来保持控制台的整洁。
答案 6 :(得分:5)
$.each(myobject, function(key, element) {
alert('key: ' + key + '\n' + 'value: ' + element);
});
这对我有用。 :)
答案 7 :(得分:-1)
看看这个:http://phpjs.org/functions/index并查找print_r或使用带有firebug的console.log()。