我正在尝试使用 Breeze.js 版本 1.5.3 创建一个简单的 JavaScript 应用程序。它是使用 OData v4 服务。该服务是使用 ASP.NET WebApi 2 创建的。
包含的脚本:
<script src="/js/jquery.min.js"></script>
<script src="/js/underscore.js"></script>
<script src="/js/q.js"></script>
<script src="/js/datajs-1.1.3.js"></script>
<script src="/js/breeze.debug.js"></script>
下面是配置 Breeze 的 EntityManager 的代码:
var serverAddress = "http://localhost:6405/odata/";
breeze.config.initializeAdapterInstances({ dataService: "webApiOData4" });
var manager = new breeze.EntityManager(serverAddress);
代码失败并出现以下错误:Uncaught TypeError: Cannot read property 'oData' of undefined
这是失败的片段breeze.debug.js
(大约第 16591 行):
webApiOData4Ctor.prototype.initialize = function () {
// Aargh... they moved the cheese.
var datajs = core.requireLib("datajs", "Needed to support remote OData v4 services");
OData = datajs.V4.oData; // V4 is undefined, so it throws
OData.json.jsonHandler.recognizeDates = true;
};
我已经搜索datajs-1.1.3.js
并没有找到“V4”符号。此外,这个库的作者说它只支持 OData v3。有些人建议使用odatajs-4.0.0-beta-01.min.js
这里的http://olingo.apache.org/doc/javascript/datajs
,但在breeze.debug.js
源代码中有明显的依赖关系。我试图odatajs-4.0.0-beta-01.min.js
在我的页面中包含脚本,但它没有帮助。
有人知道如何让 Breeze.js 与 OData v4 服务一起工作吗?