jQuery: print_r() weergave-equivalent?

Mogelijk duplicaat:
JavaScript-gegevensopmaak/pretty printer

Ik word een beetje moe van het kijken naar niet-geformatteerde json-blobs in FireBug.

Weet iemand een equivalent van PHP’s print_r() voor jQuery?

Iets dat recursief een weergavereeks zou maken van een object of array, dat ik op de pagina zou kunnen weergeven voor snelle foutopsporing?

Bedankt!


Antwoord 1, autoriteit 100%

console.logis wat ik het vaakst gebruik bij het debuggen.

Ik heb deze jQuery extensionechter kunnen vinden .


Antwoord 2, autoriteit 64%

Je zou heel gemakkelijk reflectieom alle eigenschappen, methoden en waarden weer te geven.

Voor op Gecko gebaseerde browsers kunt u de .toSource()-methode gebruiken:

var data = new Object();
data["firstname"] = "John";
data["lastname"] = "Smith";
data["age"] = 21;
alert(data.toSource()); //Will return "({firstname:"John", lastname:"Smith", age:21})"

Maar aangezien u Firebug gebruikt, waarom niet gewoon console.log gebruiken?


Antwoord 3, autoriteit 23%

Wat dacht je van iets als:

<script src='https://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;'); }

Antwoord 4, autoriteit 13%

U kunt ook doen

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

waarbij a en b objecten zijn.


Antwoord 5, autoriteit 9%

$.each(myobject, function(key, element) {
    alert('key: ' + key + '\n' + 'value: ' + element);
});

Dit doet het werk voor mij. 🙂


Antwoord 6, autoriteit 9%

Ik heb een jQuery-plug-in gemaakt voor het equivalent van

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

Je kunt het downloaden op https://github.com/tomasvanrijsse/jQuery.dump


Antwoord 7, autoriteit 7%

Topcommentaar heeft een verbroken link naar de console.log-documentatie voor Firebug, dus hier is een link naar het wiki-artikel over Console. Ik begon het te gebruiken en ben er redelijk tevreden mee als alternatief voor PHP’s print_r().

Opmerkelijk is ook dat Firebug je toegang geeft tot geretourneerde JSON-objecten, zelfs zonder dat je ze handmatig hoeft te loggen:

  • In de console zie je de url van
    het AJAX-antwoord.
  • Klik op het driehoekje om het antwoord uit te vouwen en details te zien.
  • Klik op het JSON-tabblad in de details.
  • U zult de responsgegevens zien georganiseerd met expansiedriehoeken.

Voor deze methode zijn nog een paar klikken nodig om bij de gegevens te komen, maar er zijn geen toevoegingen aan uw eigenlijke javascript nodig en het verschuift uw focus in Firebug niet uit de console (door console.log te gebruiken, wordt een link naar de DOM gemaakt sectie van firebug, waardoor je daarna terug naar console moet klikken).

Voor mijn geld klik ik liever nog een paar keer als ik wil inspecteren in plaats van te rommelen met het logboek, vooral omdat de console netjes blijft door geen extra rommel toe te voegen.


Antwoord 8

Kijk hier eens naar: http://phpjs.org/functions/indexen zoek naar print_r of gebruik console.log() met firebug.

Other episodes