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

jquery:print_r()显示等效项?[复制品]

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

    可能重复:
    JavaScript data formatting/pretty printer

    我对Firebug中未格式化的JSON块有点厌倦了。

    有人知道相当于php的print_r()for jquery吗?

    一些可以从一个对象或数组递归地生成一个显示字符串的东西,我可以在页面上显示它以便快速调试?

    谢谢!

    8 回复  |  直到 15 年前
        1
  •  68
  •   Paolo Bergantino    12 年前

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

    我找到了这个 jQuery extension 不过。

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

    你可以很容易地使用 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 Hemanshu    13 年前

    比如:

    <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    15 年前

    你也可以这样做

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

    其中a和b是物体。

        5
  •  6
  •   Tomas    11 年前

    我已经为相当于

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

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

        6
  •  5
  •   jerclarke    14 年前

    top comment有一个断开的链接,指向console.log文档中的firebug,所以这里是 a link to the wiki article about Console . 我开始使用它,并且非常满意它作为php的print_()的替代品。

    另外需要注意的是,Firebug允许您访问返回的JSON对象,即使不需要手动记录它们:

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

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

    为了我的钱,当我想检查日志时,我宁愿多点击几次,而不是乱动日志,特别是因为不添加任何额外的损坏来保持控制台的整洁。

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

    这对我有用。:)

        8
  •  -1
  •   niofox    12 年前

    看看这个: http://phpjs.org/functions/index 找到打印或使用console.log()和firebug。