jQuery: вывести эквивалент отображения r()? [дубликат]
Возможный Дубликат:
Форматирование данных JavaScript/симпатичный принтер
Я немного устал смотреть на неформатированные капли json в FireBug.
Кто-нибудь знает эквивалент PHP print_r() для jQuery?
Что-то, что рекурсивно создавало бы строку отображения из объекта или массива, которую я мог бы отобразить на странице для быстрой отладки?
Спасибо!
8 answers
console.log
это то, что я чаще всего использую при отладке.
Я смог найти это jQuery extension
хотя.
Вы можете очень легко использовать отражение для перечисления всех свойств, методов и значений.
Для браузеров на основе гекконов вы можете использовать метод .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?
Как насчет чего-то вроде:
<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,' '); }
Вы также можете сделать
console.log("a = %o, b = %o", a, b);
Где a и b - объекты.
$.each(myobject, function(key, element) {
alert('key: ' + key + '\n' + 'value: ' + element);
});
Это делает работу за меня.:)
Я сделал плагин jQuery для эквивалента
<pre>
<?php echo print_r($data) ?>
</pre>
Вы можете скачать его по адресу https://github.com/tomasvanrijsse/jQuery.dump
В верхнем комментарии есть неработающая ссылка на консоль.регистрируйте документацию для Firebug, поэтому вот ссылка на вики-статью о консоли. Я начал использовать его и вполне доволен им в качестве альтернативы PHP print_r().
Также следует отметить, что Firebug предоставляет вам доступ к возвращаемым объектам JSON, даже если вы не регистрируете их вручную:
- В консоли вы можете увидеть URL -адрес ответа AJAX.
- Щелкните треугольник, чтобы развернуть ответ и увидеть подробности.
- Перейдите на вкладку JSON в разделе Сведения.
- Вы увидите данные ответа, организованные треугольниками расширения.
Этот метод требует еще пару кликов, чтобы получить данные, но не требует никаких дополнений в вашем реальном javascript и не смещает ваше внимание в Firebug из консоли (с помощью консоли.журнал создает ссылку на раздел DOM в firebug, заставляя вас после этого вернуться в консоль).
За свои деньги я бы предпочел нажать еще пару раз когда я хочу проверить, а не возиться с журналом, тем более, что поддерживает консоль в чистоте, не добавляя никаких дополнительных ошибок.
Посмотрите на это: http://phpjs.org/functions/index и найдите для print_r или используйте console.log() с firebug.