1
我正在嘗試使用Durandal,Breeze和knockout來實現WebApi OData。但我總是得到以下錯誤:Breeze.js WebApi OData和Durandal
無法初始化OData。需要支持遠程的OData服務
我創建一個視圖模型:
var my = {}; //my namespace
$(function() {
var serverAddress = "/odata/";
breeze.config.initializeAdapterInstances({ dataService: "OData" });
var manager = new breeze.EntityManager(serverAddress);
my.vm = {
customers: ko.observableArray([]),
load: function() {
var query = breeze.EntityQuery.from("Customers");
manager.executeQuery(query, function (data) {
var results = data.results;
$.each(data.results, function (i, c) {
my.vm.customers.push(c);
});
});
}
}
my.vm.load();
ko.applyBindings(my.vm);
});
在BreezWebApiConfig提到:
public static void RegisterBreezePreStart() {
GlobalConfiguration.Configuration.Routes.MapHttpRoute(
name: "BreezeApi",
routeTemplate: "api/{controller}/{action}"
);
}
和註冊的WebAPI:
public static void Register(HttpConfiguration config)
{
config.Routes.MapODataRoute("odata", "odata", GetEdmModel());
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
請建議我,如果任何人有這個想法。