Efeito de rotação não funciona durante uma chamada ajax
Eu tenho o seguinte código .. Mas o efeito de rotação não acontece até que a chamada ajax seja concluída (o que é praticamente inútil)
$.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");
})
Mas se eu adicionar um alerta, ele lança o alerta e o efeito de rotação começa a aparecer.
$.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()
});