title: xhr onloadend isn't fired when using https
body: <p>I have the following html page (unabridged):</p>
  
  <pre><code>&lt;!DOCTYPE html&gt;
  &lt;html&gt;
  &lt;head&gt;&lt;/head&gt;
  &lt;body&gt;
      &lt;input type="file" id="f" /&gt;
      &lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"&gt;&lt;/script&gt;
      &lt;script&gt;
          $('#f').change(function () {
              let formData = new FormData(), file = this.files[0];
              formData.append('upload', file);
              $.ajax({
                  url: '/fi/upload',
                  type: 'POST',
                  data: formData,
                  processData: false,
                  contentType: false,
                  xhr: function () {
                      var xhr = $.ajaxSettings.xhr();
                      xhr.upload.onloadend = function (e) {
                          debugger; //doesn't get here when using https
                      };
                      return xhr;
                  }
              });
          });
      &lt;/script&gt;
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>When calling the page using http, the <code>onloadend</code> callback fires. When using https, it doesn't. It's the same story with <code>onprogress</code>.</p>
  
  <p><code>/fi/upload</code> doesn't do anything - it's an empty C# MVC action returning <code>void</code>. It returns code <code>200</code> for both http &amp; https.</p>
  
  <p>Why is this? Can anyone reproduce this?</p>