Return true from .submit causes existing async ajax calls to fail

Return true from .submit causes existing async ajax calls to fail

I have a submit handler similar to the code shown below.  The gist of it, is that when submit is clicked, I want to do "something" and then use the form's post to redirect the user to a "thank you" page.  When I return true, the existing ajax call fails, and the redirect occurs as normal.   When I return false, the ajax call succeeds, but the redirect doesn't happen.  Can someone explain why?

  1. jQuery(document).ready( function($) {
  2.     var request;
  3.     $("#my-form-id").submit( function( event ) {
  4.         if( request ) request.abort();
  5.         var $form = $(this);
  6.         var serializedData = $form.serialize();
  7.         request = $.ajax({
  8.             url: "http://some-ajax-script",
  9.             type: "post",
  10.             data: serializedData
  11.         });
  12.         // set action attribute dynamically (anti-bots)
  13.         url = "http://thank-you-page";
  14.         $("#my-form-id").attr( 'action', url );
  15.         return true;
  16.     });
  17. });