Есть ли какая-либо функция javascript или даже библиотека jQuery, которая делает то же самое, что PHP print_r ()? - PullRequest
1 голос
/ 10 июля 2010

Привет всем ,
есть ли какая-либо функция javascript или даже в библиотеке jQuery (я полагаю, да, потому что jQuery имеет библиотеку JSON и может сериализовать ), которая выполняет те же функции, что и PHP print_r() функция ?

Я гуглил по этому поводу, но я нашел только функции для печати одномерных или двумерных массивов .

заранее спасибо ...
Хосе Морейра

EDIT:
Q: Почему я спрашиваю это?
A: На самом деле у меня есть $.ajax() вызов, который получает строку JSON, подобную этой (числа редактируются для конфиденциальности):

{"sms":{"92255221":{"status":true,"debug":"ok","warnmsg":"SMS Sended!"},"92255222":{"status":true,"debug":"ok","warnmsg":"SMS Sended!"},"92255223":{"status":true,"debug":"ok","warnmsg":"SMS Sended!"},"92255224":{"status":true,"debug":"ok","warnmsg":"SMS Sended!!"},"92255225":{"status":true,"debug":"ok","warnmsg":"SMS Sended!"},"92255226":{"status":true,"debug":"ok","warnmsg":"SMS Sended!"},"92255227":{"status":true,"debug":"ok","warnmsg":"SMS Sended!"},"92255228":{"status":true,"debug":"ok","warnmsg":"SMS Sended!"}}}

А на моем success: function() у меня что-то вроде этого:

success: function(response){
                    var data = $.parseJSON(response);
                    img_ok = "<img src=\"http://www.mysite.com/images/icons/icon-ok-16.png\" />";
                    img_fail = "<img src=\"http://www.mysite.com/images/icons/icon-fail-16.png\" />";
                    for (i=0;i<=mobilenumbers.length;i++){
                        var selector = "input.client[value*="+mobilenumbers[i]+"]";
                        // Remove input checkbox
                        $(selector).remove();
                        // Replace by an image
                        if(data['sms'][mobilenumbers[i]]['status']){
                            $(selector).filter(function(){return $(this).attr("checked");}).parent().append(img_ok);
                        }else{
                            $(selector).filter(function(){return $(this).attr("checked");}).parent().append(img_fail);
                        }*/
                    } 

но firebug говорит, что data['sms'][mobilenumbers[i]] не определено ... но странно то, что первый data['sms'][mobilenumbers[i]]['status'] работает отлично!

Ответы [ 2 ]

2 голосов
/ 10 июля 2010

Хороший вопрос! Я не знаю никого, интересно посмотреть, подходит ли что-нибудь.

Между тем, некоторые альтернативы:

  • Выполнение console.log(your_object) с открытым Firebug в Firefox обеспечит вам хороший просмотр дерева.

  • То же самое возможно в инструментах разработчика IE 8, но это немного сложнее. См этот вопрос .

0 голосов
/ 10 июля 2010

Если вы хотите напечатать объект javascript в строке, вам нужно его сериализовать.В настоящее время jQuery имеет только функцию анализа JSON

Эта или нативная JSON.strigify функция выдаст вам строку.Затем вы можете использовать префиксатор javascript для отступа, если хотите ( здесь ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...