Eli*_*Eli 64 php debugging jquery
可能重复:
JavaScript数据格式化/漂亮的打印机
我对在FireBug中查看未格式化的json blob感到有些厌倦.
有没有人知道jQuery的PHP的print_r()相当于?
会递归地从对象或数组中生成显示字符串的东西,我可以在页面上显示以便快速调试吗?
谢谢!
Pao*_*ino 69
console.log 是调试时我经常使用的.
我能够找到这个jQuery extension.
CMS*_*CMS 44
您可以使用非常容易的反射来列出所有属性,方法和值.
对于基于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})"
Run Code Online (Sandbox Code Playgroud)
但是既然你使用Firebug,为什么不使用console.log呢?
小智 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,' '); }
Run Code Online (Sandbox Code Playgroud)
我已经制作了一个相当于的jQuery插件
<pre>
<?php echo print_r($data) ?>
</pre>
Run Code Online (Sandbox Code Playgroud)
您可以在https://github.com/tomasvanrijsse/jQuery.dump下载它
热门评论与Firebug的console.log文档有一个断开的链接,所以这里有一个关于控制台的wiki文章的链接.我开始使用它并且非常满意它作为PHP的print_r()的替代品.
另外值得注意的是,即使没有手动记录它们,Firebug也可以访问返回的JSON对象:
这种方法需要更多点击才能获得数据,但不需要在实际的javascript中添加任何内容,也不会将你的焦点从Firebug中移出控制台(使用console.log创建一个指向firebug的DOM部分的链接) ,强迫你点击回到控制台后).
对于我的钱,当我想要检查而不是弄乱日志时,我宁愿再点击几次,特别是因为不加任何额外的残留使得控制台保持整洁.
$.each(myobject, function(key, element) {
alert('key: ' + key + '\n' + 'value: ' + element);
});
Run Code Online (Sandbox Code Playgroud)
这对我有用.:)