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 + IE 6

 PHP.SU

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


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

> Описание: на методе responseText выплевывает ошибку system error -1072896658
sabriel
Отправлено: 06 Марта, 2009 - 10:15:22
Post Id


Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Июнь 2008  
Откуда: Салават, Башкортостан


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




Здравствуйте, вот решил разбираться с аяксом, столкнулся с такой проблемой:
есть страничка с кодом
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  3. <html>
  4.         <head>
  5.                 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6.                 <title>Untitled Document</title>
  7. <script type="text/javascript">        
  8. function getXmlHttp(){
  9.   var xmlhttp;
  10.   try {
  11.     xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  12.   } catch (e) {
  13.     try {
  14.       xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  15.     } catch (E) {
  16.       xmlhttp = false;
  17.     }
  18.   }
  19.   if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  20.     xmlhttp = new XMLHttpRequest();
  21.   }
  22.   return xmlhttp;
  23. }
  24. function getXmlHttp() {
  25.   var xmlhttp;
  26.   try {
  27.     xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  28.   } catch (e) {
  29.       try {
  30.         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  31.       } catch (E) {
  32.       xmlhttp = false;
  33.     }
  34.   }
  35.  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
  36.     xmlhttp = new XMLHttpRequest();
  37.   }
  38.   return xmlhttp;
  39. }
  40. // javascript-код голосования из примера
  41. function vote() {
  42.     // создать объект для запроса к серверу, функция getXmlHttp будет дана ниже
  43.     var req = getXmlHttp()  
  44.      req.open('GET', 'http://localhost/ajax.php', true);  // задать адрес подключения
  45.      // span рядом с кнопкой
  46.     // в нем будем отображать ход выполнения
  47.     var statusElem = document.getElementById('vote_status')
  48.  
  49.     req.onreadystatechange = function() {  // onreadystatechange активируется при получении ответа сервера
  50.          if (req.readyState == 4) { // если запрос закончил выполняться
  51.              statusElem.innerHTML = req.statusText // показать статус (Not Found, ОК..)
  52.              if(req.status == 200) { // если статус 200 (ОК) - выдать ответ пользователю
  53.                statusElem.innerHTML= req.responseText;
  54.             }
  55.             // тут можно добавить else с обработкой ошибок запроса
  56.         }
  57.      }
  58.     // объект запроса подготовлен: указан адрес и создана функция onreadystatechange
  59.     // для обработки ответа сервера
  60.     req.send(null);  // отослать запрос
  61.     statusElem.innerHTML = 'Ожидаю ответа сервера...'
  62. }
  63. </script>      
  64.         </head>
  65.         <body>
  66. <p><input value="Голосовать!" style="font-size: 1.2em" onclick="vote()" type="button" /></p>
  67. <div id="vote_status">вотестатус</div>
  68.  
  69. </body>
  70. </html>
  71.  


то есть инфа отправляется на скрипт и в ответе приходит:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <table border=1>
  3. <tr>
  4. <td>first stolb</td>
  5. <td>second stolb</td>
  6. </tr>
  7. <td>2</td>
  8. <td>3</td>
  9. </tr>
  10. </table>
  11.  

кторый размешается ниже кнопки.
В опере и мазиле работает нормально но вот эксплорер пишет что ошибка тут:
CODE (text):
скопировать код в буфер обмена
  1. statusElem.innerHTML= req.responseText;

вот собственно проблема Улыбка помогите разобраться.
P.S. оишбка следующая
CODE (text):
скопировать код в буфер обмена
  1. system error -1072896658
 
 Top
vitaliy_mad
Отправлено: 07 Марта, 2009 - 17:47:06
Post Id


Участник


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


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




sabriel пишет:
if (req.readyState == 4) { // если запрос закончил выполняться
statusElem.innerHTML = req.statusText; // показать статус (Not Found, ОК..)
if(req.status == 200) { // если статус 200 (ОК) - выдать ответ пользователю
statusElem.innerHTML= req.responseText;
}

после первого ифа точку с запятой пропустили
 
 Top
sabriel
Отправлено: 10 Марта, 2009 - 06:14:27
Post Id


Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Июнь 2008  
Откуда: Салават, Башкортостан


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




Спасибо Улыбка грубая ошибка с моей стороны. буду внимательней, но теперь код выглядит так (еще пару точков с запятой отсутствующих нашел)

CODE (text):
скопировать код в буфер обмена
  1. function vote() {
  2.     // создать объект для запроса к серверу, функция getXmlHttp будет дана ниже
  3.     var req = getXmlHttp();  
  4.      req.open('GET', 'http://localhost/ajax.php', true);  // задать адрес подключения
  5.      // span рядом с кнопкой
  6.     // в нем будем отображать ход выполнения
  7.     var statusElem = document.getElementById('vote_status');
  8.      req.onreadystatechange = function() {  // onreadystatechange активируется при получении ответа сервера
  9.          if (req.readyState == 4) { // если запрос закончил выполняться
  10.              statusElem.innerHTML = req.statusText; // показать статус (Not Found, ОК..)
  11.              if(req.status == 200) { // если статус 200 (ОК) - выдать ответ пользователю
  12.                statusElem.innerHTML= req.responseText;
  13.             }// тут можно добавить else с обработкой ошибок запроса
  14.         }
  15.      }// объект запроса подготовлен: указан адрес и создана функция onreadystatechange
  16.     // для обработки ответа сервера
  17.     req.send(null);  // отослать запрос
  18.     statusElem.innerHTML = 'Ожидаю ответа сервера...' ;
  19. }


только проблема та же. код взял непосредственно из эксплорера что б исключить кэш и все такие.
(Добавление)
Взял работающий код и проверил на локалхосте та же ошибка. с другой стороне код в IE там где он лежит работает нормально. в чем трабла? в броузере или может еще что то быть?
 
 Top
SION-ZENIT
Отправлено: 10 Марта, 2009 - 10:43:15
Post Id


Частый гость


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


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




Со стороны сервера в скрипте пошлите заголовок с кодировкой и типом информации text/plain
 
 Top
sabriel
Отправлено: 10 Марта, 2009 - 12:38:43
Post Id


Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Июнь 2008  
Откуда: Салават, Башкортостан


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




это так что ли сделать?
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. @Header("Content-Type: text/plain; charset=utf-8");
  4. echo('<table border=1>
  5. <tr>
  6. <td>first stolb</td>
  7. <td>second stolb</td>
  8. </tr>
  9. <td>2</td>
  10. <td>3</td>
  11. </tr>
  12. </table>
  13. ');
  14. ?>


если так то все тоже самое. Огорчение
(Добавление)
Хотя нет Улыбка помудрил с кэшем и прочие левые вещи сделал заработал. большое спасибо люди Улыбка очень помогли
 
 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