aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/data/ajax/onunload.html30
-rw-r--r--test/unit/ajax.js5
2 files changed, 35 insertions, 0 deletions
diff --git a/test/data/ajax/onunload.html b/test/data/ajax/onunload.html
new file mode 100644
index 000000000..2c629f67d
--- /dev/null
+++ b/test/data/ajax/onunload.html
@@ -0,0 +1,30 @@
+<!doctype html>
+<html>
+<head>
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
+ <title>onunload ajax requests (#14379)</title>
+ <script src="../../jquery.js"></script>
+</head>
+<body>
+ <form id="navigate" action="about:blank"></form>
+ <script>
+ jQuery( window ).on( "unload", function() {
+ var ajaxStatus;
+ jQuery.ajax({
+ url: "../name.html",
+ async: false,
+ complete: function( xhr, status ) {
+ ajaxStatus = status;
+ }
+ });
+ parent.iframeCallback( ajaxStatus );
+ });
+
+ jQuery(function() {
+ setTimeout(function() {
+ document.getElementById( "navigate" ).submit();
+ }, 0 );
+ });
+ </script>
+</body>
+</html>
diff --git a/test/unit/ajax.js b/test/unit/ajax.js
index 22fed363c..fee2d8a04 100644
--- a/test/unit/ajax.js
+++ b/test/unit/ajax.js
@@ -1565,6 +1565,11 @@ module( "ajax", {
}
} );
+ testIframeWithCallback( "#14379 - jQuery.ajax() on unload", "ajax/onunload.html", function( status ) {
+ expect( 1 );
+ strictEqual( status, "success", "Request completed" );
+ });
+
//----------- jQuery.ajaxPrefilter()
ajaxTest( "jQuery.ajaxPrefilter() - abort", 1, {