[AJAX] Post data komt niet aan?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • neliss
  • Registratie: Juni 2009
  • Laatst online: 28-08 10:52

neliss

h00t h00t!

Topicstarter
Ik heb niet veel ervaring met AJAX, maar tot nog toe heb ik al een aantal keren met succes via XMLHttpRequest() data opgehaald via de GET method.
Ik wilde nu ook eens data gaan versturen naar een php file, maar dat gaat mis.

Dit is de javascript functie die ik heb gebruikt:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
function senddata() {
 request = new XMLHttpRequest();
 request.open("POST", "mailer.php", true);
 request.onreadystatechange = function() {
  if(request.readyState == 4) {
   if(request.status == 200) alert(request.responseText);
   else alert("Something went wrong");
  }
 }
 request.send("foo=bar");
}

Met de php file:
PHP: mailer.php
1
2
3
4
5
6
7
<?

echo "Hello world! " . $_POST["foo"];
print_r($_POST);
print_r($_REQUEST);

?>

Maar als output krijg ik niet meer dan:
Text output:
1
2
3
Hello world!
Array ( )
Array ( )

De XMLHttpRequest() lijkt dus wel te worden uitgevoerd, maar er wordt geen data meegestuurd.
Weet iemand wat ik verkeerd doe?

Acties:
  • 0 Henk 'm!

  • Spinal
  • Registratie: Februari 2001
  • Laatst online: 08-09 14:12
Helpt het als je het volgende meestuurt?
JavaScript:
1
2
3
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");


waarbij params in dit geval zou zijn:
JavaScript:
1
var params = "foo=bar";

Full-stack webdeveloper in Groningen


Acties:
  • 0 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 00:22
nvm.. weer eens te laat!

De eerste twee headers in de post hierboven zijn verplicht om mee te sturen, omdat anders de webserver het allemaal niet meer snapt..

[ Voor 164% gewijzigd door Caelorum op 09-01-2011 10:24 ]


Acties:
  • 0 Henk 'm!

  • neliss
  • Registratie: Juni 2009
  • Laatst online: 28-08 10:52

neliss

h00t h00t!

Topicstarter
Jullie slaan de spijker op z'n kop!
Dit is dus wat er aan mijn request ontbrak, met de headers werkt het gewoon.
Bedankt!