jQuery: print R () эквивалент дисплея? [дубликат]


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

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

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

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

спасибо!

8 64

8 ответов:

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

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

<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;'); }

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

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 или использовать консоль.log () с firebug.