Ich versuche, einige Anforderungen an die Datenbank zu senden, wenn das Fenster entladen wird (d. H. Wenn Sie die Seite aktualisieren). Aus irgendeinem Grund wird nur auf Safari der clientseitige Code ausgeführt, aber die Anforderung an den Server wird nie ausgeführt. Wenn ich den Code im Debugger manuell durchtrete, erhält der Server die Anfrage und verarbeitet sie einwandfrei.Safari führt keine Callback-Funktion bei Aktualisierung/onbeforeunload auf Serverseite aus (ruft clientseitigen Code)
Wer weiß, warum das passiert?
window.onbeforeunload = function() {
console.log("inside on before unload");
var requestParam = new a.ListRequest();
requestParam.setAction('set_delete');
var callback = function(isSuccess, response) {
if (isSuccess) {
//do something
} else {
// do something else
}
};
// Sends request to server
a.Fetch.list(requestParam, callback);
}
Ohne Ihren Code zu sehen, ist die einzige Vermutung, die ich geben könnte, .. Sie haben einen Fehler in Ihrem Code. –
Es funktioniert jedoch auf Chrome und Firefox. Ich füge auch einen Beispielcode hinzu – petranaya
Was senden Sie an den Server? Auch warum möchten Sie dies vor dem Laden geschickt? –