gpt4 book ai didi

c# - Odata 使用 Knockout Js 路由和访问它

转载 作者:行者123 更新时间:2023-11-28 20:01:42 24 4
gpt4 key购买 nike

我使用 OData 和 Knockout Js 开发了一个关于 Asp.Net Mvc4 Internet 应用程序的应用程序。我的OData中的路由如下

WebApiConfig.cs

ODataConventionModelBuilder modelBuilder = new ODataConventionModelBuilder();
modelBuilder.EntitySet<Product>("Products");
var model = modelBuilder.GetEdmModel();

config.Routes.MapODataRoute(routeName: "Odata", routePrefix: "odata", model: model);

Knockout Js如下

 $.getJSON('odata/Products', function (data) {
self.products(ko.utils.arrayMap(data.value, function (product) {
var obsProduct = {
Id: product.Id,
ProductName: ko.observable(product.ProductName),

Edit: ko.observable(false),
Locked: ko.observable(product.Locked)
}
self.watchModel(obsProduct, self.modelChanged);
return obsProduct;
}));
self.loading(false);
});
}

但是在运行应用程序时,它抛出了如下异常

Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:57044/Home/odata/Products

但是当我手动输入 URL http://localhost:57044/odata/Products 时,会显示包含所有产品列表的元数据

但是当我输入http://localhost:57044/Home/odata/Products(这是与上面不同的网址)时,它会抛出 404 错误。我该如何解决这个问题

最佳答案

/Home/odata/Products

--> 这就是问题所在,HOME,你的网址不正确

$.getJSON('/odata/Products', function (data) {
self.products(ko.utils.arrayMap(data.value, function (product) {
var obsProduct = {
Id: product.Id,
ProductName: ko.observable(product.ProductName),

Edit: ko.observable(false),
Locked: ko.observable(product.Locked)
}
self.watchModel(obsProduct, self.modelChanged);
return obsProduct;
}));
self.loading(false);
});

关于c# - Odata 使用 Knockout Js 路由和访问它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21562931/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com