Ich poste ein Formular an admin-ajax
und die Weiterleitung verwendet, um innerhalb des Erfolgshandlers zu sein. Das dauerte zu lange, um vom Server zu empfangen und dann umzuleiten, obwohl es nur eine kleine json-Antwort war, die eine Erfolgsmeldung gab. Ich habe seitdem die Weiterleitung verschoben, um nach dem .ajax()
Aufruf auszuführen. Gibt es eine Chance, die Redirect könnte ausgeführt werden, bevor der AJAX gebucht? Ich weiß, dass AJAX asynchron ist, so dass es im Hintergrund ausgeführt wird.
jQuery.ajax({ type:"POST", url:admin_ajaxurl, dataType: "Json", data: { action: "lp_contact", post: postData }, beforeSend: function(jqXHR, data, setting){ }, success: function(data){ }, error: function(data) { } }); // End update prospect window.location.replace("http://www.example.com/thank-you-landing-page/"); return false;
Das Problem könnte in der Verwendung von Admin Ajax sein. Wenn Sie zu einem anderen Endpunkt wechseln, kann sich der process beschleunigen.
Ich habe den ajax-Fluss auf einigen Sites verwendet und Sie sollten einen performanceszuwachs sehen: https://wordpress.org/support/view/plugin-reviews/ajaxflow
Hier finden Sie einige Best Practices:
https://10up.github.io/Engineering-Best-Practices/php/#libraries