微风OData的错误 [英] Breeze OData error
问题描述
我一直在尝试了一段时间,现在使用的微风和OData的。
I've been trying for some time now to use breeze and OData.
我的OData来自另一个服务器,CORS已启用。我相信问题是微风和ODATA因为我已经测试使用的微风和Web API的一切和它的工作就好了。
My OData comes from another server, and CORS is enabled. I believe the problem is with breeze and odata because I've tested everything using breeze and web api and it worked just fine.
在网络选项卡中的铬我看到的OData正常,但由于某种原因,数据提取不显示,我得到这个奇怪的错误:
In chrome in network tab I see that OData is fetched properly but for some reason data isn't shown and I get this strange error:
[Q] Unhandled rejection reasons (should be empty):
[Error]
q.js:891
Error: OK Logger.js:52
Here is my breeze DataService:
app.adminMuscleGroup.dataService = ( function(breeze, logger) {
breeze.config.initializeAdapterInstance("modelLibrary", "backingStore", true);
var service = new breeze.DataService({
serviceName: "http://localhost:23758/odata/",
hasServerMetadata: false,
});
breeze.config.initializeAdapterInstance("dataService", "OData");
var manager = new breeze.EntityManager({ dataService: service });
manager.enableSaveQueuing(true);
var dataService = {
getAll: getAll,
};
return dataService;
function getAll() {
var query = breeze.EntityQuery.from("MuscleGroup").orderBy("Name");
return manager.executeQuery(query);
}
下面是Controller.js:
Here is Controller.js:
app.adminMuscleGroup.controller('AdminMuscleGroupCtrl', function ($scope) {
var dataService = window.app.adminMuscleGroup.dataService;
var logger = window.app.logger;
$scope.items = [];
$scope.getAllMuscleGroups = function() {
dataService.getAll()
.then(querySucceeded)
.fail(queryFailed);
};
$scope.getAllMuscleGroups();
function querySucceeded(data) {
$scope.items = [];
data.results.forEach(function(item) {
$scope.items.push(item);
});
$scope.$apply();
logger.info("Fetched all Muscle Groups");
}
function queryFailed(error) {
logger.error(error.message, "Query failed");
}
})
下面是控制台日志截图:
Here is screenshot of Console log:
推荐答案
我发现,微风不能正常使用的OData定期EntitySetControllers和CORS的时候,你可以在<一见工作href=\"http://stackoverflow.com/questions/17397733/breeze-executequery-q-promise-fails-cors\">question我在这里问,这让他们从工作控制器应定期ApiController装饰着BreezeControllerAttribute Breeze.WebApi 。它可能已经被更新工作,但我还没有在一段时间试了一下。
I found out that breeze doesn't work correctly when using regular EntitySetControllers for OData and CORS as you can see in the question I asked here, and that to get them to work the controller should be a regular ApiController decorated with the BreezeControllerAttribute from Breeze.WebApi. It might have already been updated to work but I haven't tried it in a while.
这篇关于微风OData的错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!