$.get
es una buena abreviatura de $.ajax
que tiene una opción timeout
, que especificará cuánto tiempo esperará el script antes de cancelar la devolución de llamada.
Puede anular el valor predeterminado global mediante $.ajaxSetup({timeout: 9001})
, lo que le permitirá continuar utilizando $.get
.
Si simplemente desea alertar al usuario sin cancelar la solicitud, use $.ajax
, establezca un tiempo de espera y cancele el tiempo de espera en la devolución de llamada complete
.
Aquí hay un código de ejemplo de arranque, no he probado nada de eso, y es probable que se podría convertir en un plugin con un poco de trabajo:
(function(){
var t, delay;
delay = 1000;
$('.delay-message').ajaxStart(function() {
var $this;
$this = $(this);
t = setTimeout(function() {
$this.trigger('slowajax');
}, delay);
}).ajaxComplete(function() {
if (t) {
clearTimeout(t);
}
});
}());
$('.delay-message').on('slowajax', function() {
$(this).show().delay(2000).fadeOut(1000);
});
¿quiere decir que desea activar una función después de un cierto retraso o desea cancelar la solicitud '$ .get' después de un cierto retraso? Si solo está activando una función, puede usar 'setTimeout'. – zzzzBov