Как пройти через массив JavaScript? - PullRequest
0 голосов
/ 06 сентября 2010

У меня есть вывод из вызова ajax:

"total":"3",
"data":[{   "id":"4242",
            "title":"Yeah Lets Go!",
            "created":"1274700584",
            "created_formated":"2010-07-24 13:19:24",
            "path":"http:\/\/domain.com\/yeah"
        }]

Итак, в этом массиве есть три таких элемента, и мне нужно было бы пройти через это и распечатать из него настоящий html. Так что на странице это будет:

Да, давай! (это ссылка на http: www.domain.com/yeah)
Создано: 2010-07-24 13: 19: 24

Я связался с этим.

Редактировать 1:
Кроме того, я получаю этот необработанный вывод после нажатия на ссылку. Как сделать так, чтобы он отображался при загрузке страницы? Или это делает вызов ajax, когда я нажимаю на ссылку atm.

Редактировать 2:
Я получил это, чтобы вывести все сразу. Но все же у меня есть проблема с изложением фактического HTML. Выходной атм:

"total":"3",
"data":[{
            "id":"4242",
            "title":"Yeah Lets Go!",
            "created":"1274700584",
            "created_formated":"2010-07-24 13:19:24",
            "path":"http:\/\/domain.com\/yeah"
        }
        {
            "id":"4242",
            "title":"Yeah Lets Go!222",
            "created":"1274700584",
            "created_formated":"2010-07-24 13:19:24",
            "path":"http:\/\/domain.com\/yeah222"
        }
        {
            "id":"4242",
            "title":"Yeah Lets Go!333",
            "created":"1274700584",
            "created_formated":"2010-07-24 13:19:24",
            "path":"http:\/\/domain.com\/yeah333"
        }
]}

Я бы хотел добавить это в список с заголовком, ссылкой и днем ​​создания.

Редактировать 3 после ответ из Лука Маттеис :
Хм, теперь я еще больше сбит с толку.

Эта строка JSON получается из этого:

$('a.link').click(function() {
        var item_id = $(this).attr("href").split('#')[1];
        $.get(base_url+'/ajax/get_itema/'+item_id+'/0/3/true', 
                null, 
                function(data, status, xhr) {
                    $('#contentCell').html(data);
                }
        );

Так что мне нужно сделать что-то вроде:

var html = eval(data); 

и тогда я бы сделал то, что Лука Маттеис предложил ?

Ответы [ 2 ]

2 голосов
/ 06 сентября 2010

Во-первых, это строка JSON, вам нужно отменить сериализацию строки в реальный объект JavaScript (смотрите json.org ).

Как только вы получитеродные данные JavaScript, что-то вроде этого должно работать:

var html = '';
for(var i=0; i < obj.data.length; i++) {
    html += '<a href="'+obj.data[i].path+'">'+obj.data[i].title+'</a><br>';
    html += 'Created: '+ obj.data[i].created;

}
0 голосов
/ 06 сентября 2010

Хм, теперь я еще больше сбит с толку.

Эта строка JSON получается из этого:

$('a.link').click(function() {
var item_id = $(this).attr("href").split('#')[1];
$.get(base_url+'/ajax/get_itema/'+item_id+'/0/3/true', null, function(data, status, xhr) {
$('#contentCell').html(data);
});

Так что мне нужно сделать что-то вроде:

var html = eval(data); 

и тогда я буду делать то, что предлагает Лука Маттеис?

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