ServiceWorker如何缓存DataTable Ajax调用?

时间:2018-06-29 03:15:05

标签: ajax caching datatable service-worker

因此,我正在使用标准缓存从缓存中获取或从网络获取并在下次存储在缓存中。问题在于,DataTable代码进行Ajax get调用,并在每次自动生成的末尾添加一个额外的查询字符串。因此,每次刷新页面时,缓存中都没有任何内容,并且存储了多个条目,因为每次添加的查询字符串都不相同。有什么解决方法吗?

var metalTable = $('#metalTable').DataTable({
    ajax: {
        url: 'Price/ReturnTableJson',
        dataSrc: function (data) { alert(data); var parsedObject = JSON.parse(data); return parsedObject; },
    },
    columns: [
        { data: "CommodityName" },
        { data: "CommodityPrice" }
    ],
});

self.addEventListener('fetch', function (event) {
event.respondWith(
    caches.open(CACHE_NAME).then(function (cache) {
        return cache.match(event.request).then(function (response) {
            //console.log(response);
            return response || fetch(event.request).then(function (response) {
                cache.put(event.request, response.clone());
                return response;
            });
        });
    });
);

});

0 个答案:

没有答案