Показать сообщение отдельно
  #10 (permalink)  
Старый 02.12.2012, 11:02
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

$data = array(
    array(
        'title' => '#99',
        'description' => 'различное описание <a href=page.html>больше инфо</a>',
        'layer' => '<p class='pric'>тескт</p>',
        'link' => 'http://www.test.ru/page.php?id=99',
        'src' => 'http://www.test.ru/3.jpg',
    ),
    array(
        'title' => '#99',
        'description' => 'различное описание <a href=page.html>больше инфо</a>',
        'layer' => '<p class='pric'>тескт</p>',
        'link' => 'http://www.test.ru/page.php?id=99',
        'src' => 'http://www.test.ru/3.jpg',
    ),
);

$response = json_encode($data);

header('Content-Type: application/json');

echo $response;


var dataRequest = new XMLHttpRequest();

dataRequest.onreadystatechange = function(){
    if (this.readyState == this.DONE) {
        if (this.status == 200) {
            var data = JSON.parse(this.response);
            process(data);
        } else {
            alert('Что-то пошло не так. Код ответа' +this.status);
        }
    }
};

dataRequest.open('GET', 'http://path/to/script.php');

dataRequest.send();

function process (data) {
    if (!(data instanceof Array)) {
        alert('какая-то хрень вместо данных');
        return false;
    }

    for (var i = 0; i < data.length; i++)
    {
        var item = data[i];

        var link, image;
        link = document.createElement('a');
        image = document.createElement('img');
        
        image.setAttribute('data-title', item.title);
        image.setAttribute('data-description', item.description);
        image.setAttribute('data-layer', item.layer);
        image.setAttribute('data-link', item.link);
        image.src = item.src;

        link.href = item.src;
        link.appendChild(image);

        document.body.appendChild(link);
    }
}


Требуется маленький polyfill для IE7-8 (XMLHttpRequest)

Последний раз редактировалось danik.js, 04.12.2012 в 01:12.
Ответить с цитированием