Ajax reuqests/responses
Umlauf
- javascript
Hallo,
ich habe ein spezielles Problem, und zwar starte ich nach dem Drücken eines Buttons eine zyklische Ajax- Abfrage und zwar nach dem der Button gedrückt wurde, wird die erste Anfrage an den Server gesendet, der Server schickt dann etwas retour, dann wird am Client mit window.setTimeout("varRequest()", 500);
500ms gewartete um dann die nächste Anfrage zu schicken. Das klappt grundsätzlich sehr gut.
Wenn ich dann einen weiteren Button klicke, um andere Daten per AJAX zu bekommen, dann bekomme ich ein Problem dahingehend, dass beim wechsel (vom einen Button zum anderen) Daten verloren gehen, die Callback- Methode ist übrigens die gleiche.
Habt ihr da einen Idee warum das so ist, Ich vermute mal, dass die Daten von request.responseText einfach überschrieben werden, kann das sein und kann ich dagegen was machen, gibt es vielleicht eine Art Verriegelung, damit keine Daten in request.responseText verloren gehen.
Besten Dank,
lg
Umlauf
Grüße,
Habt ihr da einen Idee warum das so ist, Ich vermute mal, dass die Daten von request.responseText einfach überschrieben werden, kann das sein und kann ich dagegen was machen, gibt es vielleicht eine Art Verriegelung, damit keine Daten in request.responseText verloren gehen.
mit neuem Object arbeiten?
MFG
bleicher
Das ist der Code zum Empfangen:
function responseFunction() {
if(request.readyState == 4) {
if(request.status == 200) {
getresponse = new Date().getTime();
var response = request.responseText;
if(response.indexOf('html') == -1) {
setValues(response);
//varRequest(); // sofort wieder abfragen, das klappt
window.setTimeout("variableRequest()", 500); // nach 500ms abfragen, Daten gehen verloren
}
else {
window.location.href = '';
}
}
}
}
var url = 'MyServlet';
request.open("post", url, true);
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
request.onreadystatechange = updatePage;
startrequest = new Date().getTime();
startNewTimer("response");
var requestString = "Das steht mein request- String herinnen";
requestString = "changePicture=false" + requestString;
request.send(requestString);
writeCommand = null;
Grüße,
OOP, sonst nix ;(
so kriegst du es echt nur schwer hin.
versuch dich mit classen auseinanderzusetzen
MFG
bleicher
hi,
Habt ihr da einen Idee warum das so ist,
Zeig maln Stückchn Code Andreas.