我正在尝试使用JavaScript版本1.5.3创建一个简单的Breeze.js应用程序。它使用一个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/,但是在breeze.debug.js源代码中有一个明显的依赖于datajs。我尝试过在我的页面中包含odatajs-4.0.0-beta-01.min.js脚本,但这并没有帮助。
有人知道如何使Breeze.js与OData v4服务协同工作吗?
发布于 2015-02-16 17:30:17
由于MS OData库存在许多问题,微风还不能使用OData 4.0。他们意识到了这些问题,并计划尽快发布解决方案.我们正在与他们合作,并将尝试在这种情况下发布我们的OData 4.0支持。我们还将使用“olingo”数据集库来支持OData 4.0。
请注意,您不需要使用OData (特别是ASP.NET WebApi2)。参见:http://www.getbreezenow.com/documentation/aspnet-web-api .And如果没有,您实际上可以获得更多的功能和更好的性能:参见http://www.getbreezenow.com/documentation/odata-vs-webapi
https://stackoverflow.com/questions/28537878
复制相似问题