【问题标题】:How to cache OData feed?如何缓存 OData 提要?
【发布时间】:2013-06-24 09:01:23
【问题描述】:

我正在开发基于 HTML5、CSS 和 JavaScript 等 Web 技术的 OData 客户端。

我想做的是以一种简单的方式缓存最新版本 (V3) 的 OData 提要。

我可以通过使用 HTML5 的本地或会话存储来实现该功能。

但是,如果有缓存库,那效率会更高。

我知道 data.js,但它不适用于错误消息:“no handler for data”

OData.defaultHttpClient.enableJsonpCallback = true;        
OData.read("http://localhost/OData/OData.svc/GetDatasets", function (data) {
    console.log(data);
},
function (err) {
    console.log(err);
});

我用谷歌搜索了错误消息,所以我修改了这样的代码。

var textHtmlHandler = {
    read: function (response, context) {
        var contentType = response.headers["Content-Type"];
        if (contentType && contentType.indexOf("text/html") === 0) {
            response.data = response.body;
        } else {
            odata.defaultHandler.read(response, context);
        }
    },
    write: function (request, context) { }
}

OData.defaultHttpClient.enableJsonpCallback = true;
OData.read("http://localhost/OData/OData.svc/", function (data) {
    console.log(data);
},
function (err) {
    console.log(err);
},
textHtmlHandler);

现在它说:“ReferenceError”

我怀疑我的 data.js 代码,因为我不需要使用 JSONP,因为它支持 CORS。

$.ajax({            
    url: "http://cross-domain-address/OData/OData.svc?$format=json",
    type: "GET",
    crossDomain: true,
    dataType: "json",
    success: a,
    error: b
});

function a(d) {
    console.log(d);
}

function b(d) {
    console.log(d);
}

你有什么想法吗?

您可以为 OData 提要建议缓存库或更正代码。

【问题讨论】:

    标签: javascript caching odata


    【解决方案1】:

    我开发了一个用于客户端缓存数据的库。这是链接

    Please Click here jquery.cache-1.0.0

    【讨论】:

      【解决方案2】:

      您可以使用 JayData library 及其 OData 提供程序 - OData cookbook with JayData 使用 OData 提要 它在内部使用 datajs 进行操作,但为 OData、WebSQL、SQLite 和许多其他数据源提供相同类型的 API - 因此您可以使用相同的语法将任何结果存储到浏览器内的数据库中。

      如果想缓存在内存中,可以试试JayData Pro自带的QueryCache module

      免责声明:我是 JayData 开发团队的成员,请随时了解有关该库或 OData 的更多信息,希望我能够将您指向正确的博文。

      【讨论】:

      • 非常感谢您提供的信息。我会将该库用于下一个版本的移动网站。
      猜你喜欢
      • 1970-01-01
      • 2015-02-15
      • 2014-12-10
      • 2012-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多