Помощник
|
Ответ в формате XML в Ajax |
yuriy_hb
|
Сообщение
#1
|
||
|
|
||
|
|||
Letmetouchyou |
24.5.2010, 12:50;
Ответить: Letmetouchyou
Сообщение
#2
|
|
function text(el) { var t = ""; el = el.childNodes || el; for ( var j = 0; j < el.length; j++ ) { t += el[j].nodeType != 1 ? el[j].nodeValue : text(el[j].childNodes); } } вот разбо хмл документа. попробуй так. И приверь приходит ли ответ, седлай алерт ...
if (request.status == 200) { alert(request.responseXML); .. |
|
|
yuriy_hb
|
Сообщение
#3
|
|
куда эту функцию вставить в моем примере?
function text(el) { var t = ""; el = el.childNodes || el; for ( var j = 0; j < el.length; j++ ) { t += el[j].nodeType != 1 ? el[j].nodeValue : text(el[j].childNodes); } } :sarcastic: |
|
|
alexdrob |
24.5.2010, 13:37;
Ответить: alexdrob
Сообщение
#4
|
|
|
|
|
yuriy_hb
|
Сообщение
#5
|
|
|
Я тестирую приложение на сервере. У меня на локальной машине установлен сервер и я пытаюсь отладить запрос.
У меня стоит задача с помощью Ajax получить от рнр-сценария два ответа. Просая передача данных в форме текста не подходит (request.responseText), поскольку сценарий возвращает два разных значения. Нужно реализовать ответ от сервера с помощью XML. Я уже запутался, все вроде делаю к написано в учебниках. Посмотрите, пожалуйста, на исходники моих файлов, может в них где-то есть ошибка или что-то не так сделано: Отправка на сервер одного значения: function showAnswer(page) { var url = "test.php?page=" + escape(page); request.open("GET", url, true); request.onreadystatechange = updatePage; request.send(null); } Сценарий РНР который возвращает два разных значения в формате XML (посмотрите правильно ди я все записал): [PHP]<?php // Даем знать клиенту, что возвращаем XML header("Content-Type: text/xml"); echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>"; echo "<ratings>"; $title = "7"; $rating = "9"; echo "<show>"; echo "<title>" . $title . "</title>"; echo "<rating>" . $rating . "</rating>"; echo "</show>"; echo "</ratings>"; ?>[/PHP] И наконец функция которая вызывается после возвращения ответа: function updatePage() { if (request.readyState == 4) { if (request.status == 200) { var xmlDoc = request.responseXML; var showElements = xmlDoc.getElementsByTagName("show"); for (var x=0; x<showElements.length; x++) { // Мы знаем, что первый потомок show - это title, а второй - rating var title = showElements[x].childNodes[0].value; var rating = showElements[x].childNodes[1].value; alert(title); } } } } В алерте в переменной title должно быть значение 7, но вместо этого выдает null... Может кто подскажет что за ошибка сдесь???:wacko:
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Нужен сайт с автонаполнением по XML | 1 | REGNET | 1131 | 7.3.2024, 15:08 автор: REGNET |
|
Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP) | 56 | qpPeW | 44765 | 19.7.2023, 10:03 автор: qpPeW |
|
RTB/XML Партнерская сеть Trafficstore.pro | 0 | trafficstore2x2 | 1570 | 26.3.2021, 15:44 автор: trafficstore2x2 |
|
RTB/XML Партнерская сеть Trafficstore.pro | 0 | trafficstore2x2 | 1012 | 23.3.2021, 18:53 автор: trafficstore2x2 |
|
Zel.Biz - CPA/CPI партнерка и Push-сеть (XML JSON feed) | 0 | zelads1 | 869 | 27.12.2020, 17:05 автор: zelads1 |
Текстовая версия | Сейчас: 29.3.2024, 0:17 |