Gå til innhold

Feil ved bruk av getElementById i Ajax


Anbefalte innlegg

Skrevet (endret)

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
Videoannonse
Annonse
Skrevet

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>

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å
×
×
  • Opprett ny...