jQuery: вывести эквивалент отображения r()? [дубликат]


Возможный Дубликат:
Форматирование данных JavaScript/симпатичный принтер

Я немного устал смотреть на неформатированные капли json в FireBug.

Кто-нибудь знает эквивалент PHP print_r() для jQuery?

Что-то, что рекурсивно создавало бы строку отображения из объекта или массива, которую я мог бы отобразить на странице для быстрой отладки?

Спасибо!

Author: Community, 2009-01-19

8 answers

console.log это то, что я чаще всего использую при отладке.

Я смог найти это jQuery extension хотя.

 68
Author: Paolo Bergantino, 2012-10-10 13:12:33

Вы можете очень легко использовать отражение для перечисления всех свойств, методов и значений.

Для браузеров на основе гекконов вы можете использовать метод .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?

 44
Author: CMS, 2009-01-19 06:11:39

Как насчет чего-то вроде:

<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;'); }
 15
Author: Magnus Andersson, 2011-11-21 00:25:38

Вы также можете сделать

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

Где a и b - объекты.

 9
Author: Bill Zeller, 2009-01-19 06:25:44
$.each(myobject, function(key, element) {
    alert('key: ' + key + '\n' + 'value: ' + element);
});

Это делает работу за меня.:)

 6
Author: Sugato, 2012-07-10 06:28:58

Я сделал плагин jQuery для эквивалента

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

Вы можете скачать его по адресу https://github.com/tomasvanrijsse/jQuery.dump

 6
Author: Tomas, 2013-08-30 14:56:16

В верхнем комментарии есть неработающая ссылка на консоль.регистрируйте документацию для Firebug, поэтому вот ссылка на вики-статью о консоли. Я начал использовать его и вполне доволен им в качестве альтернативы PHP print_r().

Также следует отметить, что Firebug предоставляет вам доступ к возвращаемым объектам JSON, даже если вы не регистрируете их вручную:

  • В консоли вы можете увидеть URL -адрес ответа AJAX.
  • Щелкните треугольник, чтобы развернуть ответ и увидеть подробности.
  • Перейдите на вкладку JSON в разделе Сведения.
  • Вы увидите данные ответа, организованные треугольниками расширения.

Этот метод требует еще пару кликов, чтобы получить данные, но не требует никаких дополнений в вашем реальном javascript и не смещает ваше внимание в Firebug из консоли (с помощью консоли.журнал создает ссылку на раздел DOM в firebug, заставляя вас после этого вернуться в консоль).

За свои деньги я бы предпочел нажать еще пару раз когда я хочу проверить, а не возиться с журналом, тем более, что поддерживает консоль в чистоте, не добавляя никаких дополнительных ошибок.

 5
Author: jerclarke, 2010-04-18 21:03:04

Посмотрите на это: http://phpjs.org/functions/index и найдите для print_r или используйте console.log() с firebug.

 -1
Author: niofox, 2012-03-09 22:40:16