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 klappt
s 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 !