Sto lavorando con alcuni dati governativi pubblicati tramite Socrata'sSODA api.Esiste uno schema comune consigliato per la memorizzazione delle chiamate ajax?
Questa API fornisce un modo per recuperare le righe tramite una chiamata REST. L'API consente una parametrizzazione limitata della query: in pratica puoi eseguire una ricerca a tutto testo e nient'altro. Non riesco a trovare un modo per modellare i dati restituiti, ad esempio restituire solo determinate colonne dei dati.
Come risultato, in sostanza posso solo ottenere tutte le righe e tutte le colonne di ogni vista dati. Questo è ok, immagino, ma mi piacerebbe metterlo nella cache - memoize per usare il termine di sottolineatura.
Esiste uno schema per la memoizzazione delle chiamate ajax con jQuery?
EDIT: Per dare un'idea di cosa sto parlando, ecco quello che sto facendo al momento.
function onclick(event) {
var $t = $(event.currentTarget);
var itemId = $t.attr('data-itemid');
var url = getRestUrl(itemId);
if (typeof datacache[itemId] === "undefined") {
$.ajax({
url : url,
cache : true,
type : "GET",
dataType : "json",
error : function(xhr,status,error) {
raiseError(error);
},
success : function(response, arg2, xhr) {
datacache[itemId] = response;
doSomethingWithTheData(url, itemId);
}});
}
else {
doSomethingWithTheData(url, itemId);
}
}
// then, doSomethingWithTheData() simply references datacache[itemId]
Questo sembra come se fosse il più veloce anche se non ho misurato esso. Quello che voglio veramente sapere è, c'è un modello comune che fa qualcosa del genere, che posso impiegare, in modo che chiunque legga il codice vedrà immediatamente cosa sto facendo ??
Sembra che dipenda da un ** lotto ** sulla natura dell'origine dati. – Pointy
Perché così? Supponiamo che i dati che ritornano siano json. Voglio minimizzare l'uso di XHR e voglio anche minimizzare i risultati XHR-con-cache. Il modello dovrebbe essere piuttosto semplice e generico. – Cheeso
Quello che intendevo era che dipendeva dalla "momoibilità" dei dati. – Pointy