@sunnyrio

Почему не работает Ajax?

Переписал пример программы из книги O'reilly , запускаю программу в браузере и ничего не происходит, результат работы браузера и сам код ниже:
3391ac940872420393d45d3ac29adbff.png

Содержимое urlpost.html :
<html><head><title>Пример использования Ajax</title>
</head><body><center />
<h1>Загрузка веб-страницы в контейнер DIV</h1>
<div id='info'>Это предложение будет заменено</div>
<script>

params = "url=oreilly.com"
request = new ajaxRequest()
request.open("POST", "urlpost.php", true)
request.setRequestHeader("Content-length", params.length)
request.setRequestHeader("Connection", "close")

request.onreadystatechange = function()
{
   if (this.readyState == 4)
   {
      if (this.status == 200)
      {
         if (this.responseText != null)
         {
            document.getElementById('info').innerHTML = this.responseText
         }
         else alert("Ошибка Ajax: Данные не получены")
      }
      else alert( "Ошибка Ajax: " + this.statusText)
   }
}

request.send(params)

function ajaxRequest()
{
   try
   {
      var request = new XMLHttpRequest()
   }
   catch(e1)
   {
      try
      {
         request = new ActiveXObject("Msxml2.XMLHTTP")
      }
      catch(e2)
      }
         try
         {
            request = new ActiveXObject("Microsoft.XMLHTTP")
         }
         catch(e3)
         {
            request = false
         }
      }
   }
   return request
}
</script></body></html>


Содержимое urlpost.php :
<?php // urlpost.php
if (isset($_POST['url'])) {
   echo file_get_contents("http://".SanitizeString($_POST['url']));
}

function SanitizeString($var) {
   $var = strip_tags($var);
   $var = htmlentities($var);
   return stripslashes($var);
}
?>
  • Вопрос задан
  • 348 просмотров
Пригласить эксперта
Ответы на вопрос 2
Rou1997
@Rou1997
Ну как минимум у вас написано так:
request = new ajaxRequest()
А вот что возвращает ajaxRequest:
var request = new XMLHttpRequest()
В итоге получается вот:
request = new new XMLHttpRequest()
Как думаете, два раза new это нормально?
Это ваша оплошность или так в книге написано?
Ну и второе - писать на JavaScript без единой ";" это конечно надо думать. ;)
Пользуйтесь нормальными источниками, по теме рекомендую xmlhttprequest.ru
И научитесь хотя бы элементарной отладке, пользуйтесь консолью в средствах разработчика (F12), смотрите какие там ошибки и на какой строчке, вы же не первый день изучаете JavaScript, давно пора.
Ответ написан
@sunnyrio Автор вопроса
Так что мне переписать нужно чтобы заработало?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы