AJAX из чего подгружать ?
Здравствуйте !
Слышал что контент лучше хранить в json и генерировать его с помощью PHP, но у меня хостин не поддерживает пхп, в чём лучше хранить информацию чтобы потом подгружать её с помощью AJAX в HTML , XML или есть другие варианты !? |
JSON -- это текстовый формат данных, соответственно хранить данные можно в обычном текстовом файле и формировать самостоятельно.
http://json.org/json-ru.html |
а если через xml ?
|
|
У меня не получается вывести XML вот фрагмент кода:
function pages(i) {
var xmlhttp = getXmlHttp()
xmlhttp.open('GET', page_url[i], true);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
if(xmlhttp.status == 200) {
// var doc = xmlhttp.responseText;
var doc = xmlhttp.responseXML;
//doc.getElementsByTagName("root");
alert(doc);
alert (doc.getElementsByTagName("root").childNodes;);
document.getElementById('content').innerHTML = xmlhttp.responseText;
document.getElementById('preloader').style.display = 'none';
}
}
};
xmlhttp.send(null);
}
XML: <?xml version="1.0" encoding="UTF-8"?> <root> <![CDATA[ <h1>HELLO WORLD !!!</h1> ]]> </root> Подскажите пожалуйста ! |
doc.getElementsByTagName("root").childNodes;
getElementsByTagName возвращает коллекцию элементов. И, наверное, чтобы использовать responseXML, а не responseText, сервер должен посылать соответствующий заголовок Content-Type, при ответе на запрос, какой-нибудь application/xml. |
doc.getElementsByTagName("root")[0].nodeValue - это исправил !
сервер должен посылать соответствующий заголовок Content-Type - это как ? |
что то я не понял.
зачем тебе = xmlhttp.responseText; ?? у тебя в XML как я понял html теги? тогда тебе нужно responseXML. |
Разобрался :
вот часть кода:
function pages(i) {
var xhttp = getXmlHttp();
xhttp.open("GET", page_url[i], true);
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhttp.onreadystatechange = function () {
if (xhttp.readyState == 4) { //alert("запрос отправлен");
if (xhttp.status == 200) { //alert("пришёл ответ от сервера");
xmlDoc = xhttp.responseXML;
root = xmlDoc.getElementsByTagName("ROOT");
content = root[0].childNodes[1].nodeValue;
document.getElementById('content').innerHTML = content;
} else {
alert('Ошибка запроса, пожалуйста повторите запрос сейчас или позже ! ')
}
}
}
xhttp.send(null);
};
Только вопрос по этой строчки :
xmlhttp.setRequestHeader('Content-Type', 'здесь писать URL подгружаемого файла ? ');
|
Цитата:
В Интернете куча информации, учитесь искать сами, чтобы не задавать всё подряд на форуме. |
| Часовой пояс GMT +3, время: 03:13. |