Ich arbeite mit einigen Regierungsdaten, die über Sokratas SODA api .
Diese API bietet eine Möglichkeit, Zeilen über einen REST-Aufruf abzurufen. Die API ermöglicht eine begrenzte Parametrisierung der Abfrage - im Grunde können Sie eine Volltextsuche durchführen und sonst nichts. Ich kann keine Möglichkeit finden, die zurückgegebenen Daten zu gestalten - zum Beispiel nur bestimmte Spalten der Daten zurückzugeben.
Infolgedessen kann ich im Grunde nur alle Zeilen und alle Spalten jeder Datenansicht abrufen. Das ist in Ordnung, denke ich, aber ich möchte sie zwischenspeichern. es auswendig lernen um den Begriff "Unterstrich" zu verwenden.
Gibt es ein Muster für die Memoisierung von Ajax-Aufrufen mit jQuery?
EDITAR : Damit Sie sich ein Bild davon machen können, wovon ich spreche, stelle ich Ihnen hier vor, was ich derzeit mache.
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]
Diese scheint als ob es schneller ginge, obwohl ich es nicht gemessen habe. Was ich wirklich wissen möchte, ist, Gibt es ein allgemeines Muster, das so etwas tut, das ich verwenden kann, so dass jeder, der den Code liest, sofort sieht, was ich tue?