Спасибо не ожидал.
php запустил в таком виде, там пропущена запятая после первого значения каждого массива.
'description' => 'различное описание<a href=page.html>больше инфо</a>'[B][COLOR="Red"],[/COLOR][/B]
вот результат:
[{"title":"#99","description":null,"layer":"<p class=pric>text<\/p>","link":"http:\/\/www.test.ru\/page.php?id=99","src":"http:\/\/www.test.ru\/3.jpg"},{"title":"#98","description":null,"layer":null,"link":"http:\/\/www.test.ru\/page.php?id=98","src":"http:\/\/www.test.ru\/3.jpg"}]
значение null это реакция на рус символы. с эти позже разберусь.
а вот второй скрипт не запускается.
как проверить опыта нет.
я его включил в html страницу.
<html>
<head></head>
<body>
hello
<script>
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', '1.php');
dataRequest.send();
function process (data) {
if (instanceof data != "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);
}
}
</script>
</body>
</html>