Hallo,
ich habe gerade ein Problem mit einem Post-Request auf eine Express-Route.
Habe es schon mit $.post und $.ajax versucht. Jedoch funktionieren beide nicht so wirklich.
Irgendwo liegt anscheinend ein Problem vor, aber ich kann mir (da es auch nur ein kleiner Textcode ist) erklären woher dieser Fehler kommen könnte.
Vielleicht kann mir ja einer von euch helfen?
meine $.post - Variante:
$.post('/control', { option: $('#allowAnalytics').is(':checked') }).done(function(res) {
console.log(res);
$('#accesschanged').html(res.msg);
$('#accesschanged').fadeIn(300, function() {
window.setTimeout(function() {
$('#accesschanged').fadeOut(500);
}, 2000);
});
});
Alles anzeigen
Dies wird ausgelöst, wenn eine Checkbox verändert wird.
Auf meinem Server liegt dafür folgende Route:
app.post('/control', function(req, res) {
console.log(req.body); // ergibt: option: true/false
if (req.body.option) {
res.json({success:true,msg:'Änderung erfolgreich.<br>Danke, dass du uns dabei hilfst, das Spiel immer weiter zu verbessern.'});
}
else {
res.json({success:true,msg:'Änderung erfolgreich.<br>Schade! Analysen helfen uns, das Spiel immer wieder zu verbessern.'});
}
res.json({success:false,msg:'no valid control! :)'}); // wird gesendet nach hohem load
});
Alles anzeigen
req: Request mit body für Postinhalte
Die Parameter des Requests sind, so wie beim Client angegeben auch am Server vorhanden: option = true o. false
Die Anfrage kommt innerhalb von 3ms am Server an.
Ein folgender JS Code, der die Value des Elements auf on oder off verändert (clientseitig) wird ebenfalls ausgeführt.
Allerdings dauert das Empfangen seltsamer weise 120Sekunden...
Die Firefox-Netzwerkanalyse sagt mir beim Warten auch nur 3ms.
Also insgesamt eigentlich mit Empfangen sollten es ca 12-14ms sein, aber 120005ms?!
Irgendwo wird die Antwort vom Server aufgehalten, aber ich kann mir nicht erklären wo.
Weiß jemand vielleicht was das Problem sein könnte?
lg und ein schönes Wochenende..