Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
kulimarov

AJAX, XML ответ, и "Ошибка синтаксического анализа XML"

17.05.2014, 13:49. Показов 3559. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго всем времени суток.
Нужно забацать страничку используя AJAX+PHP на которой бы было поле ввода и пара строчек текста.
При этом на сервер должен периодически отправляться запрос сопоставляющий введенный в поле текст с хранящимся на сервере. По мене редактирования поля ввода под ним должен меняться текст: 1-приглашение к вводу, 2-соответствие не найдено, 3-соответствие найдено.
Собственно задача представлена в книге Дари.К "Разработка динамических веб-приложений"
При попытке запуска книжного кода ловлю следующее:
Ошибка синтаксического анализа XML: некорректно
Адрес: http://localhost/ajax/qstart/q... ame=sdcsdd
Строка 1, символ 34:

Подскажите плз где может быть зарыта собака?
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html PUBLIC "//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>AJAX и PHP: Quickstart</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <script type="text/javascript" src="./js.js"></script>
</head>
<body onload='process()'>
Сервер желает узнать ваше имя:
<input type="text" id="myName" />
<div id="divMessage"></div>
</body>
</html>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
var xmlHttp = createXmlHttpRequestObject();
function createXmlHttpRequestObject()
{
    var xmlHttp;
    if(window.ActiveXObject)
    {
        try
        {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (e)
        {
            xmlHttp = false;
        }
    }
    else
    {
        try
        {
            xmlHttp = new XMLHttpRequest();
        }
        catch (e)
        {
            xmlHttp = false;
        }
    }
// вернуть созданный объект или вывести сообщение об ошибке
    if (!xmlHttp)
        alert("error while creating: XMLHttpRequest.");
    return xmlHttp;
}
 
// выполнить асинхронный запрос HTTP с помощью объекта XMLHttpRequest
function process()
{
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
    {
        var name = encodeURIComponent(document.getElementById("myName").value);
        alert('name: ' + name);
        xmlHttp.open("GET", "quickstart.php?name="+name, true);
 
        xmlHttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
 
        xmlHttp.onreadystatechange = handleServerResponse;
        xmlHttp.send(null);
    }
    else
        setTimeout('process()', 1000);
}
 
// вызывается автоматически по прибытии сообщения от сервера
function handleServerResponse()
{
    if (xmlHttp.readyState == 4)
    {
        if (xmlHttp.status == 200)
        {
            var xmlResponse = xmlHttp.responseXML;
            alert(xmlHttp.responseXML.documentElement.firstChild.data); // !!!!!!!!!!!!!!!!!!!!!!!!!!!!
            var xmlDocumentElement = xmlResponse.documentElement;
            var helloMessage = xmlDocumentElement.firstChild.data;
            document.getElementById("divMessage").innerHTML = '<i>' + helloMessage + '</i>';
            setTimeout('process()', 5000);
 
        }
        else
        {
            alert("error while querring to server " + xmlHttp.statusText);
        }
    }
}
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
header("Content-type: text/xml; charset=utf-8");
echo '<?xml version="1.0" encoding="UTF8" standalone="yes"?>';
echo '<response>';
$name = $_GET['name'];
$userNames = array('CRISTIAN', 'BOGDAN', 'FILIP', 'MIHAI', 'YODA');
if (in_array(strtoupper($name), $userNames))
echo 'hello, master ' . htmlentities($name) . '!';
else if (trim($name) == '')
echo 'what is your name? ';
else
echo htmlentities($name) . ', I do not know you';
echo '</response>';
?>
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.05.2014, 13:49
Ответы с готовыми решениями:

Ошибка синтаксического анализа XML: объявление XML или текста не в начале сущности
При создании карты сайта получаю такую ошибку - Ошибка синтаксического анализа XML: объявление XML или текста не в начале сущности Адрес:...

Ошибка синтаксического анализа XML
index.html &lt;html&gt; &lt;body&gt; &lt;embed width=&quot;400&quot; height=&quot;400&quot; src=&quot;circle_svg.php&quot; name=&quot;printable&quot; type=&quot;image/svg+xml&quot; /&gt; &lt;/body&gt;...

Ошибка синтаксического анализа XML: неопределённая сущность
DTD файл &lt;!ELEMENT contacts (contact*)&gt; &lt;!ATTLIST contacts version CDATA #FIXED &quot;1.0&quot;&gt; &lt;!ATTLIST contacts source CDATA...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.05.2014, 13:49
Помогаю со студенческими работами здесь

Ошибка синтаксического анализа XML: несоответствующий тег
Ошибка синтаксического анализа XML: несоответствующий тег. Ожидается: &lt;/picture&gt;. Адрес: http://fb3809ff.bget.ru/data.xml Строка...

Ошибка синтаксического анализа XML: корневой элемент не найден
у меня приходит от клиента запрос на удаления пакета id (то есть удаление нескольких записей в базе данных). rest endpoint ...

Ошибка синтаксического анализа XML: корневой элемент не найден (как отловить источник ошибки)
Кто знает, как с клиентской стороны отловить источник ошибки, может быть все же не правильно оформлена ajax-функция ? Ошибка...

Ajax -ответ сервера в формате XML в IE сразу выводится в окно
Не могу понять.В FF такой проблемы нет.Но в IE когда получает ответ в формате XML то вместо того чтобы его передать скрипту обработки...

Как отправить на сервер xml запрос с помощью post и получить ответ в xml?
нужно отправить на сервер xml запрос с помощью post и получить ответ в xml, погуглил нашел примеры, осталось лишь проверить примеры на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru