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, время: 13:21. |