MesBlog

Thinking in sharp architectures
posts - 179, comments - 436, trackbacks - 150

jQuery: attenzione al caching delle chiamate Ajax

In jQuery una chiamata Ajax può essere fatta mediante il metodo ajax, il più completo e generico, ma ovviamente anche il più ostico da invocare, proprio per la pletora di opzioni che lo caratterizza (anche se ad onor del vero, quelle veramente necessarie sono poche).

Esistono anche altri due metodi che sono delle scorciatoie che focalizzano l’obiettivo agli scenari di chiamate Ajax più comuni: get e getJSON.

Nello scegliere quali dei tre metodi utilizzare è necessario però fare molta attenzione ad un aspetto che nella documentazione di jQuery non è particolarmente messo in evidenza: get e getJSON non hanno la possibilità di disabilitare il caching del risultato, cosa che invece è possibile fare con ajax mediante l’opzione cache, un valore boolean che di default è a true (ovvero di default è abilitato il caching).

Che cosa significa? significa che se la request ajax che viene fatta è formalmente sempre la stessa (url, parametri, ecc.), con il caching attivato viene eseguita solo la prima volta, tutte le altre volte viene riproposto il primo risultato ottenuto (e quindi andando in debug sulla vostra applicazione web, ad esempio ASP.NET MVC, la action indicata nell’url verrà invocata solo la prima volta).

Quindi, se come è capitato a me, avete necessità che una stessa chiamata JSON venga eseguita tutte le volte, non utilizzate getJSON, bensì ajax disabilitando il caching.

Print | posted on venerdì 24 luglio 2009 14:03 |

Feedback

Gravatar

# re: jQuery: attenzione alle chiamate Ajax

Grazie, ci avrei di sicuro battuto la testa!
24/07/2009 15:09 | Daniele Armanasco
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET