Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: ajax и русские символы.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
san4es
Отправлено: 07 Октября, 2009 - 13:35:16
Post Id


Частый гость


Покинул форум
Сообщений всего: 201
Дата рег-ции: Март 2008  
Откуда: СПб, Ломоносов


Помог: 0 раз(а)




наконецто начал изучать ajax.
сделал первую страничку и столкнулся с проблемой.
в текстовое поле ввожу русские символы - в IE выдаёт ошибку "требуется объект" и рагаеца на строчку 'document.getElementById('divMessage').innerHTML = '<i>' + Message + '</i>';', а в FF ошибку выдаёт скрипт прям на страничку "Ошибка синтаксического анализа XML: неопределённая сущность Адрес: http://172[dot]24[dot]0[dot]234/ajax/1/quick[dot][dot][dot].php?name=%D0%B8 Строка 1, символ 73:". (73 символ после знака равно)

с прочими символами всё нормально. подскажите что может быть?


страничка с формой:
PHP:
скопировать код в буфер обмена
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <title>моя первая страница с аяксом</title>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7. <script type="text/javascript" src="a1.js"></script>
  8. </head>
  9. <body onload="process()">
  10. Введи имя: <input type="text" id="myName" />
  11. <div id="divMessage" />
  12. </body>
  13. </html>


скрипт
PHP:
скопировать код в буфер обмена
  1. // запомниь ссылку на объект
  2. var xmlHttp = createXmlHttpRequestObject();
  3.  
  4. // создать объект
  5. function createXmlHttpRequestObject()
  6. {
  7.     var xmlHttp;
  8.     if (window.ActivXObject)
  9.     {
  10.         try
  11.         {
  12.             xmlHttp = new ActivXObject("Microsoft.XMLHTTP");
  13.         }
  14.         catch (e)
  15.         {
  16.             xmlHttp = false;
  17.         }
  18.     }
  19.     else
  20.     {
  21.         try
  22.         {
  23.             xmlHttp = new XMLHttpRequest();
  24.         }
  25.         catch (e)
  26.         {
  27.             xmlHttp = false;
  28.         }
  29.     }
  30.     if (!xmlHttp) alert("ошибка создания объекта XMLHttpRequest");
  31.     else return xmlHttp;
  32. }
  33.  
  34. function process()
  35. {
  36.     if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
  37.     {
  38.    
  39.         xmlHttp.open("GET", "quickstart.php?name=" + encodeURIComponent(document.getElementById("myName").value), true);
  40.         xmlHttp.onreadystatechange = handleServerResponse;
  41.         xmlHttp.send(null);
  42.     }
  43.     else
  44.     {
  45.         setTimeout('process()', 1000);
  46.     }
  47. }
  48.  
  49. function handleServerResponse()
  50. {
  51.     if (xmlHttp.readyState == 4)
  52.     {
  53.         if (xmlHttp.status == 200)
  54.         {
  55.             xmlResponse = xmlHttp.responseXML;
  56.             xmlDocumentElement = xmlResponse.documentElement;
  57.             Message = xmlDocumentElement.firstChild.data;
  58.             document.getElementById('divMessage').innerHTML = '<i>' + Message + '</i>';
  59.             setTimeout('process()', 1000);
  60.         }
  61.         else
  62.         {
  63.             alert ('Проблемы при обращении к серверу: ' + xmlHttp.statusText);
  64.         }
  65.     }
  66. }


php скрипт
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. header('Content-Type: text/xml');
  3. header("Cache-Control: no-cache, must-revalidate");
  4. header("Pragma: no-cache");
  5. echo '<?xml version="1.0" encoding="utf-8" standalone="yes"?>';
  6. echo '<response>';
  7. $name = $_GET['name'];
  8. if (trim($name) == '')
  9. {
  10.     echo 'Введите имя.';
  11. }
  12. else
  13. {
  14.     echo 'Привет '.htmlentities($name).' !';
  15. }
  16. echo '</response>';
  17. ?>
  18.  



проблема решена. убрал htmlentities в php-скрипте.

(Отредактировано автором: 07 Октября, 2009 - 14:35:03)

 
 Top
valenok
Отправлено: 08 Октября, 2009 - 10:45:48
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Синтаксическая ошибка возвращающегося xml ответа. Его и смотрите.


-----
Truly yours, Sasha.
 
My status
 Top
Stierus Супермодератор
Отправлено: 08 Октября, 2009 - 10:57:37
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




не вижу cdata и iconv ...
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB