$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)