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.

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

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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
18 qpPeW 3452 12.12.2017, 13:32
автор: qpPeW
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыGoogle XML Sitemaps
Вопрос по настройке карты
1 SeoKot 598 1.10.2017, 17:05
автор: WellWeb
Открытая тема (нет новых ответов) Сделать прайсы в форматах YML и XML
5 uostap 543 11.9.2017, 21:54
автор: uostap
Открытая тема (нет новых ответов) Наполнение магазина товарами (xml)
Работа через Excel (назв., цена, ссылка, габариты ...)
0 mulection 647 6.6.2017, 17:08
автор: mulection
Открытая тема (нет новых ответов) Ищу специалиста по js, jquery, ajax, history api и т.д.
3 by_roXe 826 15.3.2016, 14:17
автор: Edelweiss


 



RSS Текстовая версия Сейчас: 16.12.2017, 17:24
Дизайн