Gå til innhold

Hvordan bruke POST med Ajax


Anbefalte innlegg

Skrevet

Med vanlig GET er det slik:

<script type="text/javascript" language="javascript">

   var http_request = false;

   function makeRequest(url) {

       http_request = false;

       if (window.XMLHttpRequest) { // Mozilla, Safari,...
           http_request = new XMLHttpRequest();
           if (http_request.overrideMimeType) {
               http_request.overrideMimeType('text/xml');
               // See note below about this line
           }
       } else if (window.ActiveXObject) { // IE
           try {
               http_request = new ActiveXObject("Msxml2.XMLHTTP");
           } catch (e) {
               try {
                   http_request = new ActiveXObject("Microsoft.XMLHTTP");
               } catch (e) {}
           }
       }

       if (!http_request) {
           alert('Giving up :( Cannot create an XMLHTTP instance');
           return false;
       }
       http_request.onreadystatechange = alertContents;
       http_request.open('GET', url, true);
       http_request.send(null);

   }

   function alertContents() {

       if (http_request.readyState == 4) {
           if (http_request.status == 200) {
               window.status=http_request.responseText;
           } else {
               alert('There was a problem with the request.');
           }
       }

   }
</script>
<span
   style="cursor: pointer; text-decoration: underline"
   onclick="makeRequest('http://xxxxxxxxxx.com/?id=test')">
       Make a request
</span>

 

Men hvordan poste data med POST? Jeg har lett gjennom google men finner ikke noe.

Videoannonse
Annonse
Gjest Slettet-8fx0y6VV
Skrevet
Med vanlig GET er det slik:

....

 

Men hvordan poste data med POST? Jeg har lett gjennom google men finner ikke noe.

5334729[/snapback]

 

Hva med aa bruke et AJAX rammeverk, som foreksempel MochiKit aller Dojo til aa ta seg av det grunnleggende, slik som xml sporringen? Det kommer til aa spare deg MANGE timer med debuging.

Skrevet (endret)

Dette bør hjelpe:

 

http_request.open('POST', url, true);
http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
http_request.send("id=1&message=HelloWorld");

Endret av luredan
Skrevet

Hvis jeg pakker makeRequest() inn i en setInterval() så sluttet den å fungere etter ca. 5-10 min. Går det ikke an å la den kjøre for evig? Hva er i såfall tidssperren for hvor lang tid det kan kjøres etter siden er lastet?

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...