我正在开发基于 HTML5、CSS 和 JavaScript 等 Web 技术的 OData 客户端。
我想要做的是以一种简单的方式缓存最新版本(V3)的 OData 提要。
我可以通过使用 HTML5 的本地或会话存储来实现该功能。
但是,如果有任何缓存库,那么它会更有效。
我知道 data.js,但它不适用于错误消息:“没有数据处理程序”
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 提要建议缓存库或更正代码。