Wątek zablokowany 2014-10-17 08:36 przez dzek69.

Niedziałający skrypt z odczytujący tekst z serwera - ajax

0

Mam taki problem dopiero zaczynam naukę z ajaxem z książki wziąłem pewien fragment kodu, który niestety nie działa.

<html>
<head>
<title>Ajax przy pracy</title>
<script language="javascript">
     var XMLHttpRequestObject = false;
    if (window.XMLHttpRequest) {
    XMLHttpRequestObject = new XMLHttpRequest ();
    }
    else if (window.AtiveXObject) {
     XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
    }
   function getData (dataSource, divID)
   {
   if(XMLHttpRequestObject) {
      var obj = document.getElemetById(divID);
      XMLHttpRequestObject.open("GET", dataSource);
      XMLHttpRequest.onreadystatechange = function ()
   {
      if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
      obj.innerHTML = XMLHttpRequestObject.responseText;
      }
  }
XMLHttpRequestObject.send(null);
}
}
</script>
</head>
<body>
<H1>Przechwytywanie danych z Ajax</H1>
<form>
<input type = "button" value ="Display Message"
onclick = "getData('http://localhost/ajax/dane.txt',
'targetDiv')">
</form>
<div id="targetDiv">
<p> Przechwycone dane będą tu</p>
</div>
</body>
</html>

Zadaniem tego skryptu jest wyświetlenie tego co znajduje się w pliku http://localhost/ajax/dane.txt jednak te dane co są w tym pliku się nie wyświetlają po kliknięciu na dany przycisk.

0
  1. Polecam firebuga dla firefoxa do debugowania.
  2. Czy link do pliku jest na pewno ok?

EDIT:

Poprawione czesci:
1.

var obj = document.getElementById(divID);
XMLHttpRequestObject.onreadystatechange = function ()
0

Wklejam

<html>
<head>
<title>Ajax przy pracy</title>
<script language="javascript">
var XMLHttpRequestObject = false;
  if (window.XMLHttpRequest) {
    XMLHttpRequestObject = new XMLHttpRequest ();
  }
  else if (window.AtiveXObject) {
    XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
  }
  function getData (dataSource, divID) {
    if(XMLHttpRequestObject) {
      var obj = document.getElementById(divID);
      XMLHttpRequestObject.open("GET", dataSource);
      XMLHttpRequestObject.onreadystatechange = function ()
    {
    if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
        obj.innerHTML = XMLHttpRequestObject.responseText;
    }
    }
      XMLHttpRequestObject.send(null);
    }
  }
</script>
</head>
<body>
<H1>Przechwytywanie danych z Ajax</H1>
<form>
<input type = "button" value ="Display Message"
onclick = "getData('http://localhost/ajax/dane.txt',
'targetDiv')">
</form>
<div id="targetDiv">
<p> Przechwycone dane będą tu</p>
</div>
</body>
</html>

0

mi działa :) ctrl + f5 na stronie. Może się nie odświeżyło :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1