Gå til innhold

Feil ved bruk av getElementById i Ajax


Anbefalte innlegg

Ja, har en liten stund prøvd å finne ut hva problemet med koden jeg har skrevet er.

 

 

function makeRequest(url) {

       var http_request = false;

       if (window.XMLHttpRequest) {
           http_request = new XMLHttpRequest();
           if (http_request.overrideMimeType) {
               http_request.overrideMimeType('text/xml');
           }
       } else if (window.ActiveXObject) {
           try {
               http_request = new ActiveXObject("Msxml2.XMLHTTP");
           } catch (e) {
               try {
                   http_request = new ActiveXObject("Microsoft.XMLHTTP");
               } catch (e) {}
           }
       }

       if (!http_request) {
           alert('Feilet');
           return false;
       }
       http_request.onreadystatechange = function() { alertContents(http_request); };
       http_request.open('GET', url, true);
       http_request.send(null);

   }

   function alertContents(http_request) {

       if (http_request.readyState == 4) {
           if (http_request.status == 200) {
               alert(http_request.responseText); // Problemet er her
           } else {
               alert('Et lite problem oppsto.');
           }
       }

   }

 

Så lager jeg en knapp:

 

<input type="button" name="requester" onClick="makeRequest('filnavn.html')" />

 

Problemet er da at jeg lager en div-tag:

<div id="content">
</div>

 

hvor jeg vil ha innholdet i filnavn.html til å komme inn på div-taggen content uten at jeg må laste siden på nytt.

Jeg må trolig erstatte

           if (http_request.status == 200) {
               alert(http_request.responseText); // Problemet er her
           } else {

 

med

           if (http_request.status == 200) {
               document.getElementById("content").innerHTML= http_request.responseText;
           } else {

 

eller noe lignende, men dette fungerer ikke.

 

Vet noen hva som kan være galt?

Endret av pavlion
Lenke til kommentar
Videoannonse
Annonse

Rart, det fungerer utmerket når jeg kjører det her..

 

ajax.htm

 

<html>
<head>
<script>
function makeRequest(url) {

      var http_request = false;

      if (window.XMLHttpRequest) {
          http_request = new XMLHttpRequest();
          if (http_request.overrideMimeType) {
              http_request.overrideMimeType('text/xml');
          }
      } else if (window.ActiveXObject) {
          try {
              http_request = new ActiveXObject("Msxml2.XMLHTTP");
          } catch (e) {
              try {
                  http_request = new ActiveXObject("Microsoft.XMLHTTP");
              } catch (e) {}
          }
      }

      if (!http_request) {
          alert('Feilet');
          return false;
      }
      http_request.onreadystatechange = function() { alertContents(http_request); };
      http_request.open('GET', url, true);
      http_request.send(null);

  }

  function alertContents(http_request) {

      if (http_request.readyState == 4) {
          if (http_request.status == 200) {
               document.getElementById("content").innerHTML = http_request.responseText;
          } else {
              alert('Et lite problem oppsto.');
          }
      }

  }
</script>
</head>
<body>
<input type="button" value="Last fil" onclick="makeRequest('dummy.htm');" />
<p>Innhold:</p>
<div id="content" style="border: 1px solid red">
(trykk på knappen først først)
</div>
</body>
</html>

 

dummy.htm

 

<h1>Overskrift</h1>
<p>Det var en gang...</p>

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...