Spin-Effekt funktioniert nicht während eines Ajax-Aufrufs

Ich habe den folgenden Code .. Aber der Spin-Effekt tritt erst auf, wenn der Ajax-Aufruf beendet ist (was ziemlich nutzlos ist)

$.ajax({
      type:"GET",
      async:false,
      url: "../../xxxxx/AvailabilityServlet",
      data: {action: "xxx", sku: sku},
      beforeSend: function( xhr ) {
         $("#submiticon").removeClass("fa-search");
         $("#submiticon").addClass("fa-spinner fa-spin");

    }
})

.done(function( data ) {
      result = data
   })

  .fail(function( data ) {
      result=null
  })

  .always(function( data ) {
      $("#submiticon").addClass("fa-search");
      $("#submiticon").removeClass("fa-spinner");
      $("#submiticon").removeClass("fa-spin");
  })

Aber wenn ich einen Alarm hinzufüge, wird der Alarm ausgelöst und der Spin-Effekt wird angezeigt.

$.ajax({
          type:"GET",
          async:false,
          url: "../../xxxxx/AvailabilityServlet",
          data: {action: "xxx", sku: sku},
          beforeSend: function( xhr ) {
             $("#submiticon").removeClass("fa-search");
             $("#submiticon").addClass("fa-spinner fa-spin");
             alert("stop") ;
        }

JSP:

<div class="col-md-4">
  <form role="form" class="ng-pristine ng-valid">
    <div class="input-group col-md-6" >
      <input type="text" class="form-control" id="skuInput" placeholder="Sku" autocomplete="off" >
       <span id="submit" class="input-group-addon"><span id="submiticon" class="fa fa-search"></span></span>
     </div>
  </form>
</div>

$("#submit").click(function(){
 searchSku()
});

Antworten auf die Frage(1)

Ihre Antwort auf die Frage