Tôi đang làm việc với một số dữ liệu của chính phủ được xuất bản qua Socrata'sSODA api.Có một mẫu chung được khuyến cáo để ghi nhớ các cuộc gọi ajax không?
API này cung cấp cách truy xuất các hàng thông qua cuộc gọi REST. API cho phép tham số hóa giới hạn truy vấn - về cơ bản bạn có thể thực hiện tìm kiếm văn bản đầy đủ và không có gì khác. Tôi không thể tìm thấy cách để định hình dữ liệu được trả lại - ví dụ: chỉ trả về các cột nhất định của dữ liệu.
Kết quả là, về cơ bản tôi chỉ có thể nhận tất cả các hàng và tất cả các cột của mỗi chế độ xem dữ liệu. Điều này là ok, tôi đoán, nhưng tôi muốn cache nó - ghi nhớ nó để sử dụng thuật ngữ gạch dưới.
Có mẫu để ghi nhớ cuộc gọi ajax với jQuery không?
EDIT: Để cung cấp cho bạn một ý tưởng về những gì tôi đang nói đến, đây là những gì tôi đang làm hiện nay.
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]
dường như như nó nhanh hơn mặc dù tôi chưa đo. Những gì tôi thực sự muốn biết là, là có một mô hình phổ biến mà làm một cái gì đó như thế này, mà tôi có thể sử dụng, để tất cả những người đọc mã sẽ ngay lập tức nhìn thấy những gì tôi đang làm ??
Dường như nó phụ thuộc nhiều ** vào bản chất của nguồn dữ liệu. – Pointy
Tại sao vậy? Giả sử dữ liệu quay lại là json. Tôi muốn giảm thiểu việc sử dụng XHR và thậm chí muốn giảm thiểu các kết quả XHR-với-được lưu trữ. Các mô hình nên được khá đơn giản, và chung chung. – Cheeso
Điều tôi ngụ ý là nó phụ thuộc vào "tính tương thích" của dữ liệu. – Pointy