title: Why does $(window).on('beforeunload', callback); no longer fire my ajax call in Chrome after updating to 73.0.3683.103?
body: <p>In our web application we use an ajax call that's fired at the beforeunload event to track whether a user is still working on a certain piece of information. It roughly looks like this:</p>
  
  <pre><code>$(window).on('beforeunload', function() {
      $.ajax({
                 async: false,
                 url: "../orderInformation/assignOrder",
                 data: {
                     orderId: orderId,
                     shouldAssign: false
                 }
             });
      console.info("Handled beforeunload");
  });
  </code></pre>
  
  <p>This was working fine in Chrome, IE and Firefox, until today. As of Chrome version 73.0.3683.103, the Ajax call is no longer firing, although the rest of the JS in that handler does execute. I.e. the message is printed to the console.</p>
  
  <p>Chrome's developer toolbar does not show the AJAX call being executed in version 73.0.3683.103, and I've confirmed our web server has not received the request either. However, when I run the same code on Chrome 73.0.3683.86, it fires the Ajax request and the web server receives it! I confirmed that this change affects both Mac OS and Windows.</p>
  
  <p>What changed in Chrome 73.0.3683.103 that caused this problem? And/or how do I fix it?</p>
  
  <p>This was brought to our attention by a series of support tickets from our clients, as it negatively affected how our application works. For the first time in my 11-year career as a web application developer, I've had to tell our users to switch to Internet Explorer.</p>