Javascript 如何缓存OData提要?
我正在开发基于HTML5、CSS和JavaScript等web技术的OData客户端 我想做的是以一种简单的方式缓存最新版本(V3)的OData提要 我可以通过使用HTML5的本地或会话存储来实现该功能 但是,如果有任何缓存库,那么它将更加高效 我知道data.js,但它不能处理错误消息:“没有数据处理程序” 我在谷歌上搜索了错误信息,所以我修改了如下代码Javascript 如何缓存OData提要?,javascript,caching,odata,Javascript,Caching,Odata,我正在开发基于HTML5、CSS和JavaScript等web技术的OData客户端 我想做的是以一种简单的方式缓存最新版本(V3)的OData提要 我可以通过使用HTML5的本地或会话存储来实现该功能 但是,如果有任何缓存库,那么它将更加高效 我知道data.js,但它不能处理错误消息:“没有数据处理程序” 我在谷歌上搜索了错误信息,所以我修改了如下代码 var textHtmlHandler = { read: function (response, context) {
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提要建议缓存库或更正代码。我开发了一个用于客户端缓存数据的库。这里是链接
您可以使用J及其OData提供商的OData提要- 它在内部使用datajs操作,但为OData、WebSQL、SQLite和许多其他数据源提供了相同类型的API,因此您可以使用相同的语法将任何结果存储到浏览器dbs中 如果要在内存中缓存,可以尝试使用JayData Pro打包的
免责声明:我是JayData开发团队的成员,请随时提供有关该库或OData的更多信息,希望我能为您指出正确的博客帖子。非常感谢您提供的信息。我将为下一版本的移动网站使用该库。
$.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);
}