X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Xml ответ в Ajax
r-oot
r-oot
Topic Starter сообщение 27.8.2009, 14:20; Ответить: r-oot
Сообщение #1


Завсегдатай
*****

Группа: Active User
Сообщений: 506
Регистрация: 30.3.2008
Поблагодарили: 19 раз
Репутация:   12  


Есть функция яваскрипт, которая выполняется после отправки данных по AJAX

function updatePageform() {
if (request.readyState == 4) {
if (request.status == 200) {
var status = request.responseXML;
var xmlq = status.getElementByTagName("q")[0];
var q = xmlq.firstChild.nodeValue;
var xmlw = status.getElementByTagName("w")[0];
var w = xmlw.firstChild.nodeValue;
var xmle = status.getElementByTagName("e")[0];
var e = xmle.firstChild.nodeValue;
document.getElementById("doc").innerHTML = "Обновлено";
} else if (request.status == 404) {
         alert ("Requested URL is not found.");
       } else if (request.status == 403) {
         alert("Access denied.");
       } else
         alert("status is " + request.status);
     } else {
     var form = document.getElementById("form");
     form.style.display = "none";
document.getElementById("doc").innerHTML = "Ждите";
     }
   }


Вот файл с которого приходят данные сюда:
header("Content-Type: text/xml; charset=windows-1251");
echo "<?xml version="1.0\" encoding=\"windows-1251\" ?>";
echo "<total>";  
echo "<q>" . $q . "</q>";  
echo "<w>" . $w . "</w>";  
echo "<e>" . $e . "</e>";  
echo "</total>";


Проблема в том, что нет статуса 4. Т.е. все время сообщение "Ждите". В чем может быть проблема? Заранее спасибо

Сообщение отредактировал r-oot - 27.8.2009, 14:23
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
brevis
brevis
сообщение 27.8.2009, 16:35; Ответить: brevis
Сообщение #2


Частый гость
**


Группа: User
Сообщений: 79
Регистрация: 7.3.2009
Поблагодарили: 47 раз
Репутация:   13  


А request у вас точно глобальный объект?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r-oot
r-oot
Topic Starter сообщение 27.8.2009, 17:45; Ответить: r-oot
Сообщение #3


Завсегдатай
*****

Группа: Active User
Сообщений: 506
Регистрация: 30.3.2008
Поблагодарили: 19 раз
Репутация:   12  


Мм.. не уверен) Вот код создания:

var request;
function createRequest() {
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = false;
}
}
}
if (!request)
alert("Error initializing XMLHttpRequest!");
}
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
brevis
brevis
сообщение 27.8.2009, 17:55; Ответить: brevis
Сообщение #4


Частый гость
**


Группа: User
Сообщений: 79
Регистрация: 7.3.2009
Поблагодарили: 47 раз
Репутация:   13  


Вроде бы нормально все должно быть.

Посмотрите FireBug'ом что уходит и куда, что приходит (и приходит ли вообще).
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r-oot
r-oot
Topic Starter сообщение 27.8.2009, 18:41; Ответить: r-oot
Сообщение #5


Завсегдатай
*****

Группа: Active User
Сообщений: 506
Регистрация: 30.3.2008
Поблагодарили: 19 раз
Репутация:   12  


brevis, уходит все правильно. Насчет приходит, не совсем разобрался где это смотреть. Если в Сценарии, то при запуске желтая стрелка указывает на " form.style.display = "none"; " и рядом появляется "form is null". В "Наблюдении" все переменные, которые есть в функции updatePageform() в "undefine", а form - null
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r-oot
r-oot
Topic Starter сообщение 29.8.2009, 15:57; Ответить: r-oot
Сообщение #6


Завсегдатай
*****

Группа: Active User
Сообщений: 506
Регистрация: 30.3.2008
Поблагодарили: 19 раз
Репутация:   12  


В силе, помогите плз добрые люди!) Уже неделю бьюсь, никак не могу исправить
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
brevis
brevis
сообщение 29.8.2009, 20:23; Ответить: brevis
Сообщение #7


Частый гость
**


Группа: User
Сообщений: 79
Регистрация: 7.3.2009
Поблагодарили: 47 раз
Репутация:   13  


Нужно смотреть подробнее.
Дай линк что-ли, где это дело бежит.

P.S.
В общем, взглянул я пристальнее на код и обнаружил:

1. В PHP-файле в строке "echo "<?xml version="1.0\" encoding=\"windows-1251\" ?>"; " ошибка -- пропущен слеш перед кавычкой (должно быть так: version=\"1.0\").
2. В куске JS-кода тоже ошибка: в конструкциях типа var xmlq = status.getElementByTagName("q")[0]; пропущена буква "s" :-), нужно getElementsByTagName.

Думаю это и есть основная проблема.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Сообщение отредактировал brevis - 30.8.2009, 4:27
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыПредлагаю качественные ссылки на ответ маил
14 Ванди 1083 11.5.2018, 8:19
автор: Ванди
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
20 qpPeW 5713 30.4.2018, 15:34
автор: koroluk1990
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыXMLTrust - Покупаем ваши лимиты XML за два клика
32 ig0r 18482 26.3.2018, 17:31
автор: kemelqwerty
Открытая тема (нет новых ответов) Сделать прайсы в форматах YML и XML
5 uostap 696 11.9.2017, 21:54
автор: uostap
Открытая тема (нет новых ответов) Наполнение магазина товарами (xml)
Работа через Excel (назв., цена, ссылка, габариты ...)
0 mulection 795 6.6.2017, 17:08
автор: mulection


 



RSS Текстовая версия Сейчас: 21.5.2018, 9:57
Дизайн