Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: ajax - помогите найти ошибку
 
 автор: krollik   (15.05.2006 в 19:24)   письмо автору
 
 


<script language="javascript" type="text/javascript">
   var request = false;
   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!");
</script>

На строке request = new ActiveXObject("Msxml2.XMLHTTP"); браузер ругаеться, в чём причина? (ругаеться IE)

   
 
 автор: Саня   (15.05.2006 в 19:31)   письмо автору
 
   для: krollik   (15.05.2006 в 19:24)
 

Рекомендую воспользоваться статьёй: http://dklab.ru/lib/Subsys_JsHttpRequest/

   
 
 автор: krollik   (15.05.2006 в 21:09)   письмо автору
 
   для: Саня   (15.05.2006 в 19:31)
 

статью прочитал, только вот ответ на мой вопрос, так и не нашёл =(

   
 
 автор: RMW   (15.05.2006 в 21:40)   письмо автору
 
   для: krollik   (15.05.2006 в 21:09)
 

А чё именно пишет когда ругается?

   
 
 автор: krollik   (15.05.2006 в 21:47)   письмо автору
 
   для: RMW   (15.05.2006 в 21:40)
 

Данные, необхлжимые для завершения этой операции ещё не доступны.

   
 
 автор: krollik   (15.05.2006 в 21:49)   письмо автору
 
   для: krollik   (15.05.2006 в 19:24)
 

У меня вообщето полный код скрипта такой

<html>
<head>
  <title>Задача #1</title>
</head>
<body>
<script language="javascript" type="text/javascript">
   var request = false;
   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!");
   function find_url() {
     var text = document.getElementById("html").value;
     var url = "find.php?text=" + escape(text);
     request.open("post", url, true);
     request.onreadystatechange = updateText;
     request.send(null);
   }
   function updateText() {
    var response = request.responseText;
      if (request.readyState == 4)
       if (request.status == 200)
          document.getElementById("result").value = response;
   }
</script>
Введите HTML текст:<br>
<TEXTAREA NAME="html" ROWS="15" COLS="30" id="html" onchange="find_url();"></TEXTAREA><br>
<INPUT TYPE=TEXT id="result" value="">
</body>
</html>

   
 
 автор: RMW   (15.05.2006 в 22:43)   письмо автору
 
   для: krollik   (15.05.2006 в 21:49)
 

В ajax вообще не разбираюсь, может чево и не то скажу,
но по-видимому проблему следует искать
в следующей плоскости: var response = request.responseText;
Т.е попытка обратиться к тому чего ещё не существует.
Может быть проверки

      if (request.readyState == 4)
      { 
        if (request.status == 200)
        {
        }
      }

следует сделать выше строки var response = request.responseText;?
Хотя всё это на интуиции. + изначальное отсутствие фигурных скобок является ошибкой.

   
 
 автор: RMW   (15.05.2006 в 23:17)   письмо автору
 
   для: RMW   (15.05.2006 в 22:43)
 

Вообще-то фигурные скобки тут ни при чём :)

   
 
 автор: Бог Зайцев   (16.05.2006 в 00:02)   письмо автору
 
   для: RMW   (15.05.2006 в 22:43)
 

Фигурные скобки действительно не обязательны, а так RMW прав)


   function updateText() { 
      if (request.readyState == 4) 
       if (request.status == 200){
    var response = request.responseText; 
          document.getElementById("result").value = response; 
   }
   } 


Вот так все отлично работает, только не забудь создать сам find.php :)

   
 
 автор: krollik   (16.05.2006 в 15:35)   письмо автору
 
   для: Бог Зайцев   (16.05.2006 в 00:02)
 

Спасибо всем =)) теперь работает =)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования