jimmy_ehardt: Ajax, ASP und die POST-Mehtode

Beitrag lesen

Hallo !

Ich bin neu im Forum (obwohl schon Langzeitkonsument desselbigen) und muss mich nach erfolglosen Suche per Google und MSDN nun an Euch wenden.

Problem:
Ich versuche mit einer html-Seite per xmlhttprequest Daten von einem asp-Skript zu erhalten.
Funktioniert mit der "GET"- (und der "HEAD"-)Methode auch problemlos (IE6 und FF1.5), wenns aber die "POST"-Methode sein soll klappts nicht !

Ich denke mal, ich poste den gesamten Code der client.htm und des server_post.asp (welche nur den übergebenen String umdreht).

-- client.htm --
<html>
<head>
<script type="text/javascript" language="javascript">
function NewRemoteRequest()
{
  try {
    request = new XMLHttpRequest();

} catch (trymicrosoft) {
    try {
      request = new ActiveXObject("Msxml2.XMLHTTP");

} catch (othermicrosoft) {
      try {
        request = new ActiveXObject("Microsoft.XMLHTTP");

} catch (failed) {
        request = false;

}
    }
  }
 if (!request)
  {alert("Error initializing XMLHttpRequest!");}
}
function getDataFromServer()
{
 var clientData=document.getElementById("sndtxt").value;
 var url="server.asp?CLIENTSTRING="+clientData;

request.open("GET",url,true);
 request.onreadystatechange=postData;
 request.send(null);
}
function getDataFromServerHead()
{
var url="server_post.asp"

request.open("HEAD",url,true);
request.onreadystatechange=postData;
request.send();
}
function getDataFromServerPost()
{
var clientData=document.getElementById("sndtxt").value;
request.open("POST","server_post.asp",true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request.send('clientdata='+clientData);
request.onreadystatchange=postServerPost;
}

function postServerPost()
{
 if (request.readyState == 4)
  {

if (request.status == 200)
    {
    document.getElementById("sndtxt").value=request.responseText;
    }
  }

}
function postData()
{

if (request.readyState == 4)
  {

if (request.status == 200)
    {

//document.getElementById("sndtxt").value=request.responseText;
     document.getElementById("sndtxt").value=request.getAllResponseHeaders();
    }
   else
    {
     document.getElementById("sndstat").value="still working";
    }
  }
}
</script>
</head>
<body onload="NewRemoteRequest();">
<input type="text" id="sndtxt">
<input type="button" value="GO" onclick="getDataFromServer();">
<p>
 <input type="text" id="sndstat">
</p>
<p>
<form name="testform" method="post" action="server.asp">
<input type="text" name="sndfrm">
<input type="submit" onclick="getDataFromServerPost();">

</form>
<p>
<input type="button" value="ASAS" onclick="getDataFromServerHead();">
</p>

</body>
</html>

-- server_post.asp --
<%
dim clientdata
clientdata=request.form("sndfrm")
response.write strReverse(clientdata)
%>

Über einen helfenden response auf einen fragenden request würde ich mich sehr freuen !

lg
jimmy

--
! mehr licht !