代码之家  ›  专栏  ›  技术社区  ›  Eli

jQuery:print_r()显示等效?[副本]

  •  64
  • Eli  · 技术社区  · 17 年前

    可能重复:
    JavaScript data formatting/pretty printer

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

    有人知道PHP的print_r()在jQuery中的等价物吗?

    从对象或数组递归生成显示字符串的东西,我可以在页面上显示以进行快速调试?

    谢谢!

    8 回复  |  直到 9 年前
        1
  •  68
  •   Paolo Bergantino    13 年前

    console.log 这是我调试时最常用的。

    我找到了这个 jQuery extension 不过。

        2
  •  44
  •   Christian C. Salvadó    17 年前

    你可以很容易地使用 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呢?

        3
  •  15
  •   animuson    14 年前

    比如:

    <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,'&nbsp;&nbsp;&nbsp;'); }
    
        4
  •  9
  •   Bill Zeller    17 年前

    你也可以这样做

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

    其中a和b是对象。

        5
  •  6
  •   Tomas    12 年前
    $.each(myobject, function(key, element) {
        alert('key: ' + key + '\n' + 'value: ' + element);
    });
    

    这对我来说就是工作:)

        6
  •  5
  •   jerclarke    16 年前

    我制作了一个jQuery插件,相当于

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

    您可以在以下网址下载 https://github.com/tomasvanrijsse/jQuery.dump

        7
  •  5
  •   Gogol LR Soni    13 年前

    顶部评论中有一个断开的链接,指向Firebug的console.log文档,所以这里是 a link to the wiki article about Console 。我开始使用它,并对它作为PHP print_r()的替代品感到非常满意。

    同样值得注意的是,Firebug允许您访问返回的JSON对象,即使您无需手动记录它们:

    • 在控制台中,您可以看到以下网址 AJAX响应。
    • 单击三角形展开响应并查看详细信息。
    • 单击详细信息中的JSON选项卡。
    • 您将看到用展开三角形组织的响应数据。

    此方法需要再点击几下才能获取数据,但不需要在实际的javascript中添加任何内容,也不会将您在Firebug中的注意力转移到控制台之外(使用console.log会创建一个指向Firebug DOM部分的链接,迫使您在之后单击返回控制台)。

    就我的钱而言,当我想检查时,我宁愿再点击几次,而不是弄乱日志,尤其是因为通过不添加任何额外的污垢来保持控制台整洁。

        8
  •  -1
  •   niofox    14 年前

    看看这个: http://phpjs.org/functions/index 并查找print_r或使用console.log()和firebug。