Buongiorno a tutti,
da giorni sto sbattendo la testa su un problema con Ajax e Jquery.
Ho fatto una procedura che, dopo che l'utente ha inserito diversi parametri, mi permette di fare una chiamata ajax ed eseguire un calcolo. Tutto funziona alla perfezione tranne il BeforeSend.
Vorrei infatti far vedere la classica rotellina durante il calcolo ma, mentre con Firefox funziona alla perfezione, con Chrome e Safari va in "pausa" e si freeza la pagina finchè non ha finito di eseguire il calcolo. Dopodichè tutto procede alla perfezione.
Vi metto il codice, magari qualcuno di voi è più esperto di me e mi sa dare indicazioni.
Grazie anticipatamente
Andrea
codice:
function calcolo(callback) {
$.ajax({
url : "calcolo.php",
type: "POST",
data : {
tempo: $("#tempo").val(),
lato1: $("#lato1").val(),
lato2: $("#lato2").val()
},
async: false,
cache: false,
crossDomain: false,
dataType : 'json',
timeout: 3000,
beforeSend: function() {
$("#prosegui").attr("disabled", true).attr("src", "prosegui_trasp.png");
$("#caricamento").show();
},
success: function(data) {
if(data.risposta=="ok") {
$("#risultato").html("Calcolo eseguito!");
callback(data.messaggio);
}
else {
$("#risultato").html("<br/>Errore calcolo");
callback(1);
}
},
error: function(data){
$("#risultato").html("<br/>Errore calcolo");
callback(1);
}
});