Prosty przykład jak kontrolować cykliczne i kolejkowane requesty Ajax’owe i zatrzymać skrypt w przypadku nagromadzenia błędów.
Ajaxowe requesty kolejkujemy za pomocą plugina dla JQuery – AjaxQ, natomiast cykliczne wywolywanie tych requestów odbywa się przy użyciu plugina JQuery Timers (intervals).
$(document).everyTime("30s", "dowolna_nazwa", function(i)
{
try
{
$.ajaxq ("tickerqueue",{
url: publicURL + "/ajax/ticker",
type: "GET",
dataType: "text",
timeout: 5000,
cache: false,
complete: function(XMLHttpRequest, textStatus)
{
if( textStatus=="error" || textStatus=="timeout" )
{
errorHTTP++;
}
},
success: function(data)
{
alert("success!");
}
});
}
catch(err) { errorPlugin++; }
},0);
if( errorPlugin>0 || errorHTTP >5 )
{
$(document).stopTime("dowolna_nazwa");
}
Jak widać powyżej, uruchamiamy cyklicznie, co 30 sekund, request Ajax’owy. Zdarzenie będzie wywoływane dopóki nie pojawi się 1 błąd pluginu (wywołania ajaxq) lub 5 błędów Ajaxa. Wartości są tylko przykładowe i można je dowolnie zmieniać.